overflow: Introduce __DEFINE_FLEX for having no initializer
authorKees Cook <kees@kernel.org>
Fri, 30 May 2025 19:06:47 +0000 (12:06 -0700)
committerKees Cook <kees@kernel.org>
Sun, 1 Jun 2025 15:41:11 +0000 (08:41 -0700)
commit5c78e793f78732b60276401f75cc1a101f9ad121
tree16248215b7a05577019cc6c02443a8f7b4255e8d
parentd6a0e0bfecccdcecb08defe75a137c7262352102
overflow: Introduce __DEFINE_FLEX for having no initializer

While not yet in the tree, there is a proposed patch[1] that was
depending on the prior behavior of _DEFINE_FLEX, which did not have an
explicit initializer. Provide this via __DEFINE_FLEX now, which can also
have attributes applied (e.g. __uninitialized).

Examples of the resulting initializer behaviors can be seen here:
https://godbolt.org/z/P7Go8Tr33

Link: https://lore.kernel.org/netdev/20250520205920.2134829-9-anthony.l.nguyen@intel.com
Fixes: 47e36ed78406 ("overflow: Fix direct struct member initialization in _DEFINE_FLEX()")
Signed-off-by: Kees Cook <kees@kernel.org>
include/linux/overflow.h