]> Git Repo - linux.git/commit
random32: update the net random state on interrupt and activity
authorWilly Tarreau <[email protected]>
Fri, 10 Jul 2020 13:23:19 +0000 (15:23 +0200)
committerLinus Torvalds <[email protected]>
Wed, 29 Jul 2020 17:35:37 +0000 (10:35 -0700)
commitf227e3ec3b5cad859ad15666874405e8c1bbc1d4
tree816ed64188fc5e153f192832d89c972f1c458820
parent6ba1b005ffc388c2aeaddae20da29e4810dea298
random32: update the net random state on interrupt and activity

This modifies the first 32 bits out of the 128 bits of a random CPU's
net_rand_state on interrupt or CPU activity to complicate remote
observations that could lead to guessing the network RNG's internal
state.

Note that depending on some network devices' interrupt rate moderation
or binding, this re-seeding might happen on every packet or even almost
never.

In addition, with NOHZ some CPUs might not even get timer interrupts,
leaving their local state rarely updated, while they are running
networked processes making use of the random state.  For this reason, we
also perform this update in update_process_times() in order to at least
update the state when there is user or system activity, since it's the
only case we care about.

Reported-by: Amit Klein <[email protected]>
Suggested-by: Linus Torvalds <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: "Jason A. Donenfeld" <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: <[email protected]>
Signed-off-by: Willy Tarreau <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/char/random.c
include/linux/random.h
kernel/time/timer.c
lib/random32.c
This page took 0.059978 seconds and 4 git commands to generate.