linux/drivers/char
Jason A. Donenfeld 39ec9e6b14 random: align entropy_timer_state to cache line
The theory behind the jitter dance is that multiple things are poking at
the same cache line. This only works, however, if what's being poked at
is actually all in the same cache line. Ensure this is the case by
aligning the struct on the stack to the cache line size.

We can't use ____cacheline_aligned on a stack variable, because gcc
assumes 16 byte alignment when only 8 byte alignment is provided by the
kernel, which means gcc could technically do something pathological
like `(rsp & ~48) - 64`. It doesn't, but rather than risk it, just do
the stack alignment manually with PTR_ALIGN and an oversized buffer.

Fixes: 50ee7529ec ("random: try to actively add entropy rather than passively wait for it")
Cc: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-12-04 14:37:08 +01:00
..
agp IOMMU Updates for Linux v5.20/v6.0: 2022-08-06 10:42:38 -07:00
hw_random hw_random: use add_hwgenerator_randomness() for early entropy 2022-11-18 02:18:10 +01:00
ipmi Fix a bunch of little problems in IPMI 2022-10-11 10:42:25 -07:00
mwave char/mwave: Adjust io port register size 2021-12-03 14:27:06 +01:00
pcmcia tty: Make ->set_termios() old ktermios const 2022-08-30 14:22:35 +02:00
tpm tpmdd updates for Linux v6.1-rc1 2022-10-10 13:09:33 -07:00
xilinx_hwicap xilinx_hwicap: cleanup comments 2022-02-25 12:08:57 +01:00
xillybus char: xillybus: fix a refcount leak in cleanup_dev() 2022-04-24 17:30:45 +02:00
adi.c
apm-emulation.c apm-emulation: drop unexpected word "the" in the comments 2022-06-27 16:15:27 +02:00
applicom.c applicom: unneed to initialise statics to 0 2021-12-21 10:14:08 +01:00
applicom.h
bsr.c powerpc/BSR: Make use of the helper macro LIST_HEAD() 2022-02-25 12:10:15 +01:00
ds1620.c
dsp56k.c
dtlk.c
hangcheck-timer.c
hpet.c hpet: remove unused writeq/readq function definitions 2022-02-04 16:45:39 +01:00
Kconfig random: use random.trust_{bootloader,cpu} command line option only 2022-11-18 02:18:10 +01:00
lp.c char: lp: remove redundant initialization of err 2022-06-10 15:29:50 +02:00
Makefile char: remove VR41XX related char driver 2022-07-28 16:12:33 +02:00
mem.c random: restore O_NONBLOCK support 2022-09-23 12:27:57 +02:00
misc.c char: misc: remove usage of list iterator past the loop body 2022-04-24 17:15:12 +02:00
mspec.c
nsc_gpio.c
nvram.c
nwbutton.c
nwbutton.h
nwflash.c
pc8736x_gpio.c
powernv-op-panel.c powerpc/powernv: Fix fall-through warning for Clang 2021-07-13 19:21:41 -05:00
ppdev.c
ps3flash.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
random.c random: align entropy_timer_state to cache line 2022-12-04 14:37:08 +01:00
scx200_gpio.c
sonypi.c
tlclk.c
toshiba.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
ttyprintk.c char: ttyprintk: register console 2022-04-22 16:24:47 +02:00
uv_mmtimer.c
virtio_console.c Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00