mm/debug_vm_pgtable: Remove uninitialized_var() usage
authorKees Cook <keescook@chromium.org>
Wed, 3 Jun 2020 20:28:45 +0000 (13:28 -0700)
committerKees Cook <keescook@chromium.org>
Thu, 16 Jul 2020 19:32:26 +0000 (12:32 -0700)
Using uninitialized_var() is dangerous as it papers over real bugs[1]
(or can in the future), and suppresses unrelated compiler warnings (e.g.
"unused variable"). If the compiler thinks it is uninitialized, either
simply initialize the variable or make compiler changes. As a precursor
to removing[2] this[3] macro[4], just initialize this variable to NULL.

[1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/
[2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
[3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
[4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/

Fixes: 399145f9eb6c ("mm/debug: add tests validating architecture page table helpers")
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
mm/debug_vm_pgtable.c

index 61ab16fb2e36c1615023576a2909c517d538cd6b..d315ff544f05370c2ea380621676261adc73d757 100644 (file)
@@ -307,7 +307,7 @@ static int __init debug_vm_pgtable(void)
        phys_addr_t paddr;
        unsigned long vaddr, pte_aligned, pmd_aligned;
        unsigned long pud_aligned, p4d_aligned, pgd_aligned;
-       spinlock_t *uninitialized_var(ptl);
+       spinlock_t *ptl = NULL;
 
        pr_info("Validating architecture page table helpers\n");
        prot = vm_get_page_prot(VMFLAGS);