On Thu, Feb 22, 2018 at 03:34:29PM -0800, Kees Cook wrote:
commit 28128c61e08eaeced9cc8ec0e6b5d677b5b94690 upstream.
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 path.h.
Reported-by: Patrick McLean chutzpah@gentoo.org Root-caused-by: Maciej S. Szmigiero mail@maciej.szmigiero.name Suggested-by: Linus Torvalds torvalds@linux-foundation.org Tested-by: Maciej S. Szmigiero mail@maciej.szmigiero.name Fixes: 3859a271a003 ("randstruct: Mark various structs for randomization") Signed-off-by: Kees Cook keescook@chromium.org Signed-off-by: Linus Torvalds torvalds@linux-foundation.org [kees: Adjusted to just path.h for -stable, as this is a smaller change] Signed-off-by: Kees Cook keescook@chromium.org
This is a much more narrow fix for the issue. I adjusted the commit subject and body, but still reference the "full" upstream commit. Is this the best way to handle this?
What's wrong with just taking the original upstream commit here? It's only 2 lines, in kconfig.h instead of path.h. What is the reason this has to be in path.h for 4.14.y and 4.15.y?
thanks,
greg k-h