[GIT PULL] gcc-plugins updates for v4.9-rc1

From: Kees Cook
Date: Mon Oct 10 2016 - 18:04:29 EST


Hi,

Please pull these gcc-plugins changes for v4.9-rc1.

Thanks!

-Kees

The following changes since commit c8d2bc9bc39ebea8437fd974fdbc21847bb897a3:

Linux 4.8 (2016-10-02 16:24:33 -0700)

are available in the git repository at:

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

for you to fetch changes up to 0766f788eb727e2e330d55d30545db65bcf2623f:

latent_entropy: Mark functions with __latent_entropy (2016-10-10 14:51:45 -0700)

----------------------------------------------------------------
This adds a new gcc plugin named "latent_entropy". It is designed to
extract as much possible uncertainty from a running system at boot time as
possible, hoping to capitalize on any possible variation in CPU operation
(due to runtime data differences, hardware differences, SMP ordering,
thermal timing variation, cache behavior, etc).

At the very least, this plugin is a much more comprehensive example for
how to manipulate kernel code using the gcc plugin internals.

----------------------------------------------------------------
Emese Revfy (2):
gcc-plugins: Add latent_entropy plugin
latent_entropy: Mark functions with __latent_entropy

arch/Kconfig | 18 +
arch/powerpc/kernel/Makefile | 5 +
block/blk-softirq.c | 2 +-
drivers/char/random.c | 4 +-
fs/namespace.c | 1 +
include/linux/compiler-gcc.h | 7 +
include/linux/compiler.h | 4 +
include/linux/fdtable.h | 2 +-
include/linux/genhd.h | 2 +-
include/linux/init.h | 5 +-
include/linux/random.h | 15 +-
init/main.c | 1 +
kernel/fork.c | 7 +-
kernel/rcu/tiny.c | 2 +-
kernel/rcu/tree.c | 2 +-
kernel/sched/fair.c | 2 +-
kernel/softirq.c | 4 +-
kernel/time/timer.c | 2 +-
lib/irq_poll.c | 2 +-
lib/random32.c | 2 +-
mm/page_alloc.c | 5 +
net/core/dev.c | 4 +-
scripts/Makefile.gcc-plugins | 9 +-
scripts/gcc-plugins/latent_entropy_plugin.c | 640 ++++++++++++++++++++++++++++
24 files changed, 725 insertions(+), 22 deletions(-)
create mode 100644 scripts/gcc-plugins/latent_entropy_plugin.c

--
Kees Cook
Nexus Security