On Tue, Oct 9, 2018 at 9:03 AM tip-bot for Kees Cook <tipbot@xxxxxxxxx> wrote: > > Commit-ID: 184d47f0fd365108bd06ab26cdb3450b716269fd > Gitweb: https://git.kernel.org/tip/184d47f0fd365108bd06ab26cdb3450b716269fd > Author: Kees Cook <keescook@xxxxxxxxxxxx> > AuthorDate: Mon, 8 Oct 2018 16:54:34 -0700 > Committer: Ingo Molnar <mingo@xxxxxxxxxx> > CommitDate: Tue, 9 Oct 2018 08:55:07 +0200 > > x86/mm: Avoid VLA in pgd_alloc() > > Arnd Bergmann reported that turning on -Wvla found a new (unintended) VLA usage: > > arch/x86/mm/pgtable.c: In function 'pgd_alloc': > include/linux/build_bug.h:29:45: error: ISO C90 forbids variable length array 'u_pmds' [-Werror=vla] > arch/x86/mm/pgtable.c:190:34: note: in expansion of macro 'static_cpu_has' > #define PREALLOCATED_USER_PMDS (static_cpu_has(X86_FEATURE_PTI) ? \ > ^~~~~~~~~~~~~~ > arch/x86/mm/pgtable.c:431:16: note: in expansion of macro 'PREALLOCATED_USER_PMDS' > pmd_t *u_pmds[PREALLOCATED_USER_PMDS]; > ^~~~~~~~~~~~~~~~~~~~~~ > > Use the actual size of the array that is used for X86_FEATURE_PTI, > which is known at build time, instead of the variable size. > > [ mingo: Squashed original fix with followup fix to avoid bisection breakage, wrote new changelog. ] > > Reported-by: Arnd Bergmann <arnd@xxxxxxxx> > Original-written-by: Arnd Bergmann <arnd@xxxxxxxx> > Reported-by: Borislav Petkov <bp@xxxxxxxxx> > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Thanks for fixing up my incorrect fix, looks correct to me now. Arnd
![]() |