| From: |
| Kees Cook <keescook-AT-chromium.org> |
| To: |
| Bill Wendling <morbo-AT-google.com> |
| Subject: |
| [PATCH 0/6] randstruct: Enable Clang support |
| Date: |
| Tue, 03 May 2022 13:54:57 -0700 |
| Message-ID: |
| <20220503205503.3054173-1-keescook@chromium.org> |
| Cc: |
| Kees Cook <keescook-AT-chromium.org>, Masahiro Yamada <masahiroy-AT-kernel.org>, Nick Desaulniers <ndesaulniers-AT-google.com>, David Howells <dhowells-AT-redhat.com>, Jeff Layton <jlayton-AT-kernel.org>, linux-kernel-AT-vger.kernel.org, linux-kbuild-AT-vger.kernel.org, linux-hardening-AT-vger.kernel.org, llvm-AT-lists.linux.dev |
| Archive-link: |
| Article |
Hi,
This enables Clang's recently added structure layout randomization
support, similar to the existing kernel-specific GCC plugin. The general
Makefile and Kconfig changes are mainly mechanical (moving options
around), but the random seed generation changes are a bit fiddly because
it needs to be created very early. I think I did this reasonably, but
I'd love some more eyes on it.
Thanks!
-Kees
Kees Cook (6):
netfs: Eliminate Clang randstruct warning
sancov: Split plugin build from plugin CFLAGS
randstruct: Reorganize Kconfigs and attribute macros
randstruct: Split randstruct Makefile and CFLAGS
randstruct: Move seed generation into scripts/basic/
randstruct: Enable Clang support
Documentation/dontdiff | 1 +
Documentation/kbuild/reproducible-builds.rst | 8 +--
Makefile | 1 +
arch/arm/vdso/Makefile | 2 +-
arch/arm64/kernel/vdso/Makefile | 3 +-
arch/riscv/Kconfig | 2 +-
arch/sparc/vdso/Makefile | 3 +-
arch/x86/entry/vdso/Makefile | 3 +-
arch/x86/mm/pti.c | 2 +-
include/linux/compiler-gcc.h | 8 ---
include/linux/compiler_types.h | 14 ++--
include/linux/netfs.h | 4 +-
include/linux/vermagic.h | 10 +--
kernel/panic.c | 2 +-
scripts/Makefile.gcc-plugins | 22 +++---
scripts/Makefile.randstruct | 17 +++++
scripts/basic/.gitignore | 1 +
scripts/basic/Makefile | 11 +++
scripts/gcc-plugins/Kconfig | 38 ----------
scripts/gcc-plugins/Makefile | 15 ++--
scripts/gcc-plugins/gen-random-seed.sh | 9 ---
scripts/gen-randstruct-seed.sh | 7 ++
security/Kconfig.hardening | 73 ++++++++++++++++++++
23 files changed, 159 insertions(+), 97 deletions(-)
create mode 100644 scripts/Makefile.randstruct
delete mode 100755 scripts/gcc-plugins/gen-random-seed.sh
create mode 100755 scripts/gen-randstruct-seed.sh
--
2.32.0