On Fri, Oct 07, 2022 at 11:42:51PM +0200, Arnd Bergmann wrote: > On Fri, Oct 7, 2022, at 9:04 PM, Nick Desaulniers wrote: > > On Fri, Oct 7, 2022 at 1:28 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: > >> - The behavior of -ftrivial-auto-var-init= is a bit odd here: with =zero or > >> =pattern, the stack usage is just below the limit (1020), without the > >> option it is up to 1044. It looks like your .config picks =zero, which > >> was dropped in the latest clang version, so it falls back to not > > > > Huh? What do you mean by "was dropped?" > > > > The config I sent has: > > CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y > > CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y > > CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y > > # CONFIG_INIT_STACK_NONE is not set > > CONFIG_INIT_STACK_ALL_ZERO=y > > When I use this config on my kernel tree (currently on top of > next-20220929 for unrelated work) and build with clang-16, > CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO is disabled, so it falls > back from CONFIG_INIT_STACK_NONE instead of the unavailable > CONFIG_INIT_STACK_ALL_ZERO. I think you have a very recent Clang but are building a tree that doesn't have commit 607e57c6c62c ("hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero"). -- Kees Cook