diff options
author | Xiaozhou Liu <liuxiaozhou@bytedance.com> | 2018-12-14 17:14:31 +0300 |
---|---|---|
committer | Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> | 2018-12-14 18:57:16 +0300 |
commit | 71391bdd2e9aab188f86bf1ecd9b232531ec7eea (patch) | |
tree | dfdbb33056f1f9beee580d4bcd0d5a5e7bef0aef /drivers/scsi | |
parent | 40e020c129cfc991e8ab4736d2665351ffd1468d (diff) | |
download | linux-71391bdd2e9aab188f86bf1ecd9b232531ec7eea.tar.xz |
include/linux/compiler_types.h: don't pollute userspace with macro definitions
Macros 'inline' and '__gnu_inline' used to be defined in compiler-gcc.h,
which was (and is) included entirely in (__KERNEL__ && !__ASSEMBLY__).
Commit 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually
exclusive") had those macros exposed to userspace, unintentionally.
Then commit a3f8a30f3f00 ("Compiler Attributes: use feature checks
instead of version checks") moved '__gnu_inline' back into
(__KERNEL__ && !__ASSEMBLY__) and 'inline' was left behind. Since 'inline'
depends on '__gnu_inline', compiling error showing "unknown type name
‘__gnu_inline’" will pop up, if userspace somehow includes
<linux/compiler.h>.
Other macros like __must_check, notrace, etc. are in a similar situation.
So just move all these macros back into (__KERNEL__ && !__ASSEMBLY__).
Note:
1. This patch only affects what userspace sees.
2. __must_check (when !CONFIG_ENABLE_MUST_CHECK) and noinline_for_stack
were once defined in __KERNEL__ only, but we believe that they can
be put into !__ASSEMBLY__ too.
Acked-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Xiaozhou Liu <liuxiaozhou@bytedance.com>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Diffstat (limited to 'drivers/scsi')
0 files changed, 0 insertions, 0 deletions