summary refs log tree commit diff
path: root/kernel/softirq.c
diff options
context:
space:
mode:
authorEmese Revfy <re.emese@gmail.com>2016-06-20 20:42:34 +0200
committerKees Cook <keescook@chromium.org>2016-10-10 14:51:45 -0700
commit0766f788eb727e2e330d55d30545db65bcf2623f (patch)
tree0436ae3b005558a4fb827459fe5c602037fe764a /kernel/softirq.c
parent38addce8b600ca335dc86fa3d48c890f1c6fa1f4 (diff)
downloadlinux-0766f788eb727e2e330d55d30545db65bcf2623f.tar.gz
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>
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r--kernel/softirq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 17caf4b63342..34033fd09c8c 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -482,7 +482,7 @@ void __tasklet_hi_schedule_first(struct tasklet_struct *t)
 }
 EXPORT_SYMBOL(__tasklet_hi_schedule_first);
 
-static void tasklet_action(struct softirq_action *a)
+static __latent_entropy void tasklet_action(struct softirq_action *a)
 {
 	struct tasklet_struct *list;
 
@@ -518,7 +518,7 @@ static void tasklet_action(struct softirq_action *a)
 	}
 }
 
-static void tasklet_hi_action(struct softirq_action *a)
+static __latent_entropy void tasklet_hi_action(struct softirq_action *a)
 {
 	struct tasklet_struct *list;