From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752044AbdGEFFD (ORCPT ); Wed, 5 Jul 2017 01:05:03 -0400 Received: from mail-pg0-f52.google.com ([74.125.83.52]:34734 "EHLO mail-pg0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750796AbdGEFFC (ORCPT ); Wed, 5 Jul 2017 01:05:02 -0400 Date: Tue, 4 Jul 2017 22:05:00 -0700 From: Kees Cook To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel , Arnd Bergmann , Jean Delvare Subject: [GIT PULL] gcc-plugins updates for v4.13-rc1 Message-ID: <20170705050500.GA72383@beast> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Please pull these gcc-plugins changes for v4.13-rc1. The big part is the randstruct plugin infrastructure. This is the first of two expected pull requests for randstruct since there are dependencies in other trees that would be easier to merge once those have landed. Notably, the IPC allocation refactoring in -mm, and many trivial merge conflicts across several trees when applying the __randomize_layout annotation. As a result, it seemed like I should send this now since it is relatively self-contained, and once the rest of the trees have landed, send the annotation patches. I'm expecting the final phase of randstruct (automatic struct selection) will land for v4.14, but if its other tree dependencies actually make it for v4.13, I can send that merge request too. Thanks! -Kees The following changes since commit 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c: Linux 4.12 (2017-07-02 16:07:02 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git tags/gcc-plugins-v4.13-rc1 for you to fetch changes up to d1185a8c5dd21182012e6dd531b00fd72f4d30cb: Merge branch 'merge/randstruct' into for-next/gcc-plugins (2017-07-04 21:41:31 -0700) ---------------------------------------------------------------- GCC plugin updates: - typo fix in Kconfig (Jean Delvare) - randstruct infrastructure ---------------------------------------------------------------- Arnd Bergmann (1): ARM: Prepare for randomized task_struct Jean Delvare (1): Fix English in description of GCC_PLUGIN_STRUCTLEAK Kees Cook (9): gcc-plugins: Detail c-common.h location for GCC 4.6 compiler: Add __designated_init annotation gcc-plugins: Add the randstruct plugin randstruct: Whitelist struct security_hook_heads cast randstruct: Whitelist UNIXCB cast randstruct: Whitelist big_key path struct overloading randstruct: Whitelist NIU struct page overloading Merge branch 'for-next/gcc-plugin-infrastructure' into merge/randstruct Merge branch 'merge/randstruct' into for-next/gcc-plugins Documentation/dontdiff | 2 + arch/Kconfig | 41 +- arch/arm/include/asm/assembler.h | 2 + arch/arm/kernel/entry-armv.S | 5 +- arch/arm/mm/proc-macros.S | 10 +- include/linux/compiler-gcc.h | 13 + include/linux/compiler.h | 12 + include/linux/vermagic.h | 9 +- scripts/Makefile.gcc-plugins | 4 + scripts/gcc-plugins/.gitignore | 1 + scripts/gcc-plugins/Makefile | 8 + scripts/gcc-plugins/gcc-common.h | 12 + scripts/gcc-plugins/gen-random-seed.sh | 8 + scripts/gcc-plugins/randomize_layout_plugin.c | 1028 +++++++++++++++++++++++++ 14 files changed, 1146 insertions(+), 9 deletions(-) create mode 100644 scripts/gcc-plugins/.gitignore create mode 100644 scripts/gcc-plugins/gen-random-seed.sh create mode 100644 scripts/gcc-plugins/randomize_layout_plugin.c -- Kees Cook Pixel Security