linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Emese Revfy <re.emese@gmail.com>
Subject: [GIT PULL] gcc-plugins updates for v4.11-rc1
Date: Tue, 21 Feb 2017 12:16:56 -0800	[thread overview]
Message-ID: <20170221201656.GA52020@beast> (raw)

Hi,

Please pull these gcc-plugins changes for v4.11-rc1. This includes two new
plugins for the upstream kernel: structleak and initify. The structleak
plugin performs forced initialization of certain structures to avoid
possible information exposures to userspace. The initify plugin performs
analysis to find functions and strings that can be marked as __init or
__exit to reduce the runtime size of the kernel.

Thanks!

-Kees

The following changes since commit a121103c922847ba5010819a3f250f1f7fc84ab8:

  Linux 4.10-rc3 (2017-01-08 14:18:17 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git tags/gcc-plugins-v4.11-rc1

for you to fetch changes up to 5988b5db7be58878cbbf1f8251968c8b89327d21:

  Merge commit 'v4.10-rc3^{}' into for-next/gcc-plugins (2017-02-16 16:32:34 -0800)

----------------------------------------------------------------
Updates to the gcc-plugins:
- infrastructure updates (gcc-common.h)
- introduce structleak plugin for forced initialization of some structures
- introduce initify plugin for optimized __init and __exit markings

----------------------------------------------------------------
Emese Revfy (4):
      gcc-plugins: Add the initify gcc plugin
      util: Move type casts into is_kernel_rodata
      initify: Mark functions with the __nocapture attribute
      initify: Mark functions with the __unverified_nocapture attribute

Kees Cook (5):
      gcc-plugins: add PASS_INFO and build_const_char_string()
      gcc-plugins: consolidate on PASS_INFO macro
      gcc-plugins: Add structleak for more stack initialization
      Merge branch 'for-next/gcc-plugin/structleak' into for-next/gcc-plugins
      Merge commit 'v4.10-rc3^{}' into for-next/gcc-plugins

 arch/Kconfig                                |   62 +
 arch/arm/include/asm/string.h               |   10 +-
 arch/arm64/Kconfig                          |    1 +
 arch/arm64/include/asm/string.h             |   25 +-
 arch/powerpc/include/asm/string.h           |   19 +-
 arch/x86/Kconfig                            |    1 +
 arch/x86/include/asm/string_32.h            |   25 +-
 arch/x86/include/asm/string_64.h            |   23 +-
 arch/x86/kernel/hpet.c                      |    2 +-
 arch/x86/lib/Makefile                       |    4 +
 drivers/acpi/acpica/acutils.h               |    2 +-
 fs/char_dev.c                               |    2 +-
 fs/ntfs/debug.h                             |    6 +-
 fs/ocfs2/cluster/masklog.h                  |    2 +-
 include/acpi/acpixf.h                       |    2 +-
 include/asm-generic/asm-prototypes.h        |    8 +-
 include/asm-generic/bug.h                   |    7 +-
 include/asm-generic/vmlinux.lds.h           |    2 +
 include/drm/drm_drv.h                       |    2 +-
 include/linux/audit.h                       |    5 +-
 include/linux/compiler-gcc.h                |   22 +
 include/linux/compiler.h                    |   14 +-
 include/linux/fs.h                          |    8 +-
 include/linux/printk.h                      |    2 +-
 include/linux/ratelimit.h                   |    3 +-
 include/linux/string.h                      |   75 +-
 lib/string.c                                |    3 +-
 lib/vsprintf.c                              |    6 +-
 mm/kasan/kasan.c                            |    2 +
 mm/util.c                                   |   10 +-
 scripts/Makefile.gcc-plugins                |   18 +
 scripts/gcc-plugins/cyc_complexity_plugin.c |    6 +-
 scripts/gcc-plugins/gcc-common.h            |   55 +-
 scripts/gcc-plugins/initify_plugin.c        | 1865 +++++++++++++++++++++++++++
 scripts/gcc-plugins/latent_entropy_plugin.c |    8 +-
 scripts/gcc-plugins/sancov_plugin.c         |    8 +-
 scripts/gcc-plugins/structleak_plugin.c     |  246 ++++
 security/integrity/integrity.h              |    2 +-
 38 files changed, 2416 insertions(+), 147 deletions(-)
 create mode 100644 scripts/gcc-plugins/initify_plugin.c
 create mode 100644 scripts/gcc-plugins/structleak_plugin.c

-- 
Kees Cook
Pixel Security

             reply	other threads:[~2017-02-21 20:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-21 20:16 Kees Cook [this message]
2017-02-22  2:34 ` [GIT PULL] gcc-plugins updates for v4.11-rc1 Linus Torvalds
2017-02-22  5:07   ` Kees Cook
2017-02-23  1:25     ` Linus Torvalds

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170221201656.GA52020@beast \
    --to=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=re.emese@gmail.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).