linux/scripts/gcc-plugins
Kees Cook b146cbf2e3 af_unix: Silence randstruct GCC plugin warning
While preparing for Clang randstruct support (which duplicated many of
the warnings the randstruct GCC plugin warned about), one strange one
remained only for the randstruct GCC plugin. Eliminating this rids
the plugin of the last exception.

It seems the plugin is happy to dereference individual members of
a cross-struct cast, but it is upset about casting to a whole object
pointer. This only manifests in one place in the kernel, so just replace
the variable with individual member accesses. There is no change in
executable instruction output.

Drop the last exception from the randstruct GCC plugin.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Cong Wang <cong.wang@bytedance.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: netdev@vger.kernel.org
Cc: linux-hardening@vger.kernel.org
Acked-by: Kuniyuki Iwashima <kuniyu@amazon.co.jp>
Link: https://lore.kernel.org/lkml/20220511022217.58586-1-kuniyu@amazon.co.jp
Acked-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/lkml/20220511151542.4cb3ff17@kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
2022-05-16 16:02:21 -07:00
..
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
arm_ssp_per_task_plugin.c gcc-plugins: arm-ssp: Prepare for THREAD_INFO_IN_TASK support 2021-09-27 16:54:01 +02:00
gcc-common.h gcc-plugins: remove duplicate include in gcc-common.h 2021-10-21 08:41:51 -07:00
gcc-generate-gimple-pass.h gcc-plugins: remove support for GCC 4.9 and older 2021-10-04 10:58:08 -07:00
gcc-generate-ipa-pass.h gcc-plugins: remove support for GCC 4.9 and older 2021-10-04 10:58:08 -07:00
gcc-generate-rtl-pass.h gcc-plugins: remove support for GCC 4.9 and older 2021-10-04 10:58:08 -07:00
gcc-generate-simple_ipa-pass.h gcc-plugins: remove support for GCC 4.9 and older 2021-10-04 10:58:08 -07:00
Kconfig randstruct: Reorganize Kconfigs and attribute macros 2022-05-08 01:33:06 -07:00
latent_entropy_plugin.c gcc-plugins: Change all version strings match kernel 2022-05-10 16:54:33 -07:00
Makefile gcc-plugins: Change all version strings match kernel 2022-05-10 16:54:33 -07:00
randomize_layout_plugin.c af_unix: Silence randstruct GCC plugin warning 2022-05-16 16:02:21 -07:00
sancov_plugin.c gcc-plugins: Change all version strings match kernel 2022-05-10 16:54:33 -07:00
stackleak_plugin.c gcc-plugins: Change all version strings match kernel 2022-05-10 16:54:33 -07:00
structleak_plugin.c gcc-plugins: Change all version strings match kernel 2022-05-10 16:54:33 -07:00