android_kernel_motorola_sm6225/drivers/char
Willy Tarreau 29204c8468 random32: update the net random state on interrupt and activity
commit f227e3ec3b5cad859ad15666874405e8c1bbc1d4 upstream.

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 <aksecurity@gmail.com>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Eric Dumazet <edumazet@google.com>
Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-07 09:36:20 +02:00
..
agp agp/intel: Reinforce the barrier after GTT updates 2020-06-22 09:05:08 +02:00
hw_random hwrng: ks-sa - Fix runtime PM imbalance on error 2020-06-30 23:17:14 -04:00
ipmi ipmi: use vzalloc instead of kmalloc for user creation 2020-06-25 15:32:57 +02:00
mwave char/mwave: fix potential Spectre v1 vulnerability 2019-01-31 08:14:36 +01:00
pcmcia char: pcmcia: remove redundant pointer dev 2018-07-03 13:01:57 +02:00
tpm tpm_tis: extra chip->ops check on error path in tpm_tis_core_init 2020-07-22 09:32:01 +02:00
xilinx_hwicap
xillybus PCI: Add Altera vendor ID 2018-03-14 19:13:47 +01:00
adi.c char: sparc64: Add privileged ADI driver 2018-06-05 11:24:55 -07:00
apm-emulation.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
applicom.c applicom: Fix potential Spectre v1 vulnerabilities 2019-03-10 07:17:20 +01:00
applicom.h
bsr.c
ds1620.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
dsp56k.c
dtlk.c
efirtc.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
generic_nvram.c
hangcheck-timer.c
hpet.c hpet: Fix division by zero in hpet_time_div() 2019-07-31 07:27:10 +02:00
Kconfig tty: mark Siemens R3964 line discipline as BROKEN 2019-04-17 08:38:47 +02:00
lp.c lp: fix sparc64 LPSETTIMEOUT ioctl 2019-12-13 08:50:58 +01:00
Makefile char: sparc64: Add privileged ADI driver 2018-06-05 11:24:55 -07:00
mbcs.c
mbcs.h
mem.c /dev/mem: Bail out upon SIGKILL. 2019-10-05 13:10:11 +02:00
misc.c proc: introduce proc_create_seq{,_data} 2018-05-16 07:23:35 +02:00
mspec.c char: mspec: change return type to vm_fault_t 2018-04-23 13:51:53 +02:00
nsc_gpio.c
nvram.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
nwbutton.c
nwbutton.h
nwflash.c
pc8736x_gpio.c
powernv-op-panel.c
ppdev.c ppdev: fix PPGETTIME/PPSETTIME ioctls 2019-12-17 20:35:13 +01:00
ps3flash.c
random.c random32: update the net random state on interrupt and activity 2020-08-07 09:36:20 +02:00
raw.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
rtc.c char: rtc: remove task handling 2018-08-02 17:16:03 +02:00
scx200_gpio.c
snsc.c
snsc.h
snsc_event.c
sonypi.c
tb0219.c
tlclk.c
toshiba.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
ttyprintk.c ttyprintk: fix a potential deadlock in interrupt context issue 2020-02-05 14:43:39 +00:00
uv_mmtimer.c
virtio_console.c virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial 2020-07-22 09:32:10 +02:00