latent_entropy: Mark functions with __latent_entropy
authorEmese Revfy <re.emese@gmail.com>
Mon, 20 Jun 2016 18:42:34 +0000 (20:42 +0200)
committerKees Cook <keescook@chromium.org>
Mon, 10 Oct 2016 21:51:45 +0000 (14:51 -0700)
commit0766f788eb727e2e330d55d30545db65bcf2623f
tree0436ae3b005558a4fb827459fe5c602037fe764a
parent38addce8b600ca335dc86fa3d48c890f1c6fa1f4
latent_entropy: Mark functions with __latent_entropy

The __latent_entropy gcc attribute can be used only on functions and
variables.  If it is on a function then the plugin will instrument it for
gathering control-flow entropy. If the attribute is on a variable then
the plugin will initialize it with random contents.  The variable must
be an integer, an integer array type or a structure with integer fields.

These specific functions have been selected because they are init
functions (to help gather boot-time entropy), are called at unpredictable
times, or they have variable loops, each of which provide some level of
latent entropy.

Signed-off-by: Emese Revfy <re.emese@gmail.com>
[kees: expanded commit message]
Signed-off-by: Kees Cook <keescook@chromium.org>
19 files changed:
block/blk-softirq.c
drivers/char/random.c
fs/namespace.c
include/linux/compiler-gcc.h
include/linux/compiler.h
include/linux/fdtable.h
include/linux/genhd.h
include/linux/init.h
include/linux/random.h
kernel/fork.c
kernel/rcu/tiny.c
kernel/rcu/tree.c
kernel/sched/fair.c
kernel/softirq.c
kernel/time/timer.c
lib/irq_poll.c
lib/random32.c
mm/page_alloc.c
net/core/dev.c