summaryrefslogtreecommitdiffstats
path: root/kernel/time
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/time
parent38addce8b600ca335dc86fa3d48c890f1c6fa1f4 (diff)
downloadlinux-stable-0766f788eb727e2e330d55d30545db65bcf2623f.tar.gz
linux-stable-0766f788eb727e2e330d55d30545db65bcf2623f.tar.bz2
linux-stable-0766f788eb727e2e330d55d30545db65bcf2623f.zip
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/time')
-rw-r--r--kernel/time/timer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 32bf6f75a8fe..2d47980a1bc4 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1633,7 +1633,7 @@ static inline void __run_timers(struct timer_base *base)
/*
* This function runs timers and the timer-tq in bottom half context.
*/
-static void run_timer_softirq(struct softirq_action *h)
+static __latent_entropy void run_timer_softirq(struct softirq_action *h)
{
struct timer_base *base = this_cpu_ptr(&timer_bases[BASE_STD]);