Skip to contentSkip to conversation

kconfig.h: Include compiler types to avoid missed struct attributes

PATCH Superseded Kees Cook 1 participant 1 message Feb 22, 2018

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Kees Cook

author
#0 lore raw

PATCH 1/1 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.

Fixes 3859a271a003 ("randstruct: Mark various structs for randomization")

---
I'm sending this anyway, in case Maciej or Patrick want to give it a test...

---
 include/linux/kconfig.h | 3 +++
 1 file changed, 3 insertions(+)
include/linux/kconfig.h +3 -0
index fec5076eda91..c5fd4ee776ba 100644
@@ -64,4 +64,7 @@
  */
 #define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))
 
+/* Make sure we always have all types and struct attributes defined. */
+#include <linux/compiler_types.h>
+
 #endif /* __LINUX_KCONFIG_H */
Signature · 6 lines
2.7.4


-- 
Kees Cook
Pixel Security