Skip to contentSkip to conversation

gcc-plugins updates for v4.9-rc1

GIT PULL Kees Cook 1 participant 1 message Oct 10, 2016

lore
Share & tools
lore

Kees Cook

author
#0 lore raw

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
Signature · 2 lines
Kees Cook
Nexus Security