linux/scripts/gcc-plugins
Kees Cook c1298a3a11 big_keys: Use struct for internal payload
The randstruct GCC plugin gets upset when it sees struct path (which is
randomized) being assigned from a "void *" (which it cannot type-check).

There's no need for these casts, as the entire internal payload use is
following a normal struct layout. Convert the enum-based void * offset
dereferencing to the new big_key_payload struct. No meaningful machine
code changes result after this change, and source readability is improved.

Drop the randstruct exception now that there is no "confusing" cross-type
assignment.

Cc: David Howells <dhowells@redhat.com>
Cc: Eric Biggers <ebiggers@kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Jarkko Sakkinen <jarkko@kernel.org>
Cc: James Morris <jmorris@namei.org>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: linux-hardening@vger.kernel.org
Cc: keyrings@vger.kernel.org
Cc: linux-security-module@vger.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 big_keys: Use struct for internal payload 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