2015-02-04 14:00:36

by Torsten Duwe

[permalink] [raw]
Subject: Fix add_timer_randomness throttling

Hi Ted,

review of a backport of a283b5c459784f97 suggests to me that it has one
replacement too much: in add_timer_randomness, entropy_count is compared
to trickle_thresh, which are _both_ scaled up by ENTROPY_SHIFT. I'd therefore
revert that hunk.

Signed-off-by: Torsten Duwe <[email protected]>


@@ -674,7 +697,7 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num)

preempt_disable();
/* if over the trickle threshold, use only 1 in 4096 samples */
- if (ENTROPY_BITS(&input_pool) > trickle_thresh &&
+ if (input_pool.entropy_count > trickle_thresh &&
((__this_cpu_inc_return(trickle_count) - 1) & 0xfff))
goto out;


2015-02-23 10:45:33

by Torsten Duwe

[permalink] [raw]
Subject: [RESEND][PATCH] Fix add_timer_randomness throttling

[now with "PATCH" tag]

It looks to me that commit a283b5c459784f97 has one replacement too much:
in add_timer_randomness, entropy_count is compared to trickle_thresh,
which are _both_ scaled up by ENTROPY_SHIFT. I'd therefore revert that hunk.

Signed-off-by: Torsten Duwe <[email protected]>

@@ -674,7 +697,7 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num)

preempt_disable();
/* if over the trickle threshold, use only 1 in 4096 samples */
- if (ENTROPY_BITS(&input_pool) > trickle_thresh &&
+ if (input_pool.entropy_count > trickle_thresh &&
((__this_cpu_inc_return(trickle_count) - 1) & 0xfff))
goto out;