Skip to content
This repository was archived by the owner on Feb 9, 2023. It is now read-only.

Commit 28128c6

Browse files
keestorvalds
authored andcommitted
kconfig.h: Include compiler types to avoid missed struct attributes
The header files for some structures could get included in such a way that struct attributes (specifically __randomize_layout from path.h) would be parsed as variable names instead of attributes. This could lead to some instances of a structure being unrandomized, causing nasty GPFs, etc. This patch makes sure the compiler_types.h header is included in kconfig.h so that we've always got types and struct attributes defined, since kconfig.h is included from the compiler command line. Reported-by: Patrick McLean <[email protected]> Root-caused-by: Maciej S. Szmigiero <[email protected]> Suggested-by: Linus Torvalds <[email protected]> Tested-by: Maciej S. Szmigiero <[email protected]> Fixes: 3859a27 ("randstruct: Mark various structs for randomization") Signed-off-by: Kees Cook <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent b21ebf2 commit 28128c6

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

include/linux/kconfig.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,7 @@
6464
*/
6565
#define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))
6666

67+
/* Make sure we always have all types and struct attributes defined. */
68+
#include <linux/compiler_types.h>
69+
6770
#endif /* __LINUX_KCONFIG_H */

0 commit comments

Comments
 (0)