mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
array_index_nospec() is no use if the result gets spilled to the stack, as
it makes the believed safe-under-speculation value subject to memory
predictions.
For all practical purposes, this means array_index_nospec() must be used in
the expression that accesses the array.
As the code currently stands, it's the wrong side of irqentry_enter(), and
'index' is put into %ebp across the function call.
Remove the index variable and reposition array_index_nospec(), so it's
calculated immediately before the array access.
Fixes:
|
||
|---|---|---|
| .. | ||
| syscalls | ||
| vdso | ||
| vsyscall | ||
| calling.h | ||
| entry.S | ||
| entry_32.S | ||
| entry_64.S | ||
| entry_64_compat.S | ||
| entry_64_fred.S | ||
| entry_fred.c | ||
| Makefile | ||
| syscall_32.c | ||
| syscall_64.c | ||
| thunk.S | ||