Re: [PATCH v3] kconfig.h: Include compiler types to avoid missed struct attributes

From: Linus Torvalds
Date: Thu Feb 22 2018 - 13:05:00 EST


On Thu, Feb 22, 2018 at 9:41 AM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
> Updated to include Tested-by. Linus, this looks ready to go.

Ok, applied.

I'm a bit worried that this ends up bypassing our automatic dependency
generation.

Lookie here (in a fully built tree):

find . -name '*.o.cmd' |
xargs grep -L linux/compiler_types.h |
xargs grep -l linux/kconfig.h |
while read i; do
j=$(echo $i | sed 's/\.o.cmd$/\.c/' | sed 's:/\.:/:');
test -f $j && echo $j;
done

shows that a number of files don't end up depending on that header
file, even though it's included (that "grep -l linux/kconfig,h"
triggers on the command itself having that "-include linux/kconfig.h"
line).

It looks like "gcc -M" just doesn't list any files that get included
on the command line with "-include".

Now, there are very *few* files that don't end up eventually including
linux/compiler_types.h _some_ way, and I checked them all, and they
really are so trivial that this doesn't matter.

But it worries me a bit regardless.

Linus