linux-stable/arch/x86
Linus Torvalds c4e34dd99f x86: simplify load_unaligned_zeropad() implementation
The exception for the "unaligned access at the end of the page, next
page not mapped" never happens, but the fixup code ends up causing
trouble for compilers to optimize well.

clang in particular ends up seeing it being in the middle of a loop, and
tries desperately to optimize the exception fixup code that is never
really reached.

The simple solution is to just move all the fixups into the exception
handler itself, which moves it all out of the hot case code, and means
that the compiler never sees it or needs to worry about it.

Acked-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2022-08-16 11:03:38 -07:00
..
boot x86: link vdso and boot with -z noexecstack --no-warn-rwx-segments 2022-08-10 18:30:09 -07:00
coco x86/tdx: Handle load_unaligned_zeropad() page-cross to a shared page 2022-06-17 15:37:33 -07:00
configs efi: vars: Remove deprecated 'efivars' sysfs interface 2022-06-24 20:40:19 +02:00
crypto SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
entry x86: link vdso and boot with -z noexecstack --no-warn-rwx-segments 2022-08-10 18:30:09 -07:00
events ARM: 2022-08-04 14:59:54 -07:00
hyperv ARM: 2022-08-04 14:59:54 -07:00
ia32
include x86: simplify load_unaligned_zeropad() implementation 2022-08-16 11:03:38 -07:00
kernel Fix the "IBPB mitigated RETBleed" mode of operation on AMD CPUs 2022-08-13 14:24:12 -07:00
kvm * Xen timer fixes 2022-08-11 12:10:08 -07:00
lib x86/retbleed: Add fine grained Kconfig knobs 2022-06-29 17:43:41 +02:00
math-emu x86/32: Remove lazy GS macros 2022-04-14 14:09:43 +02:00
mm x86: simplify load_unaligned_zeropad() implementation 2022-08-16 11:03:38 -07:00
net Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2022-07-22 16:55:44 -07:00
pci x86/PCI: Revert "x86/PCI: Clip only host bridge windows for E820 regions" 2022-06-17 14:24:14 -05:00
platform Bitmap patches for v6.0-rc1 2022-08-07 17:52:35 -07:00
power x86/cpu: Load microcode during restore_processor_state() 2022-04-19 19:37:05 +02:00
purgatory x86/purgatory: Omit use of bin2c 2022-07-25 10:32:32 +02:00
ras
realmode Intel Trust Domain Extensions 2022-05-23 17:51:12 -07:00
tools
um Misc fixes: 2022-08-06 17:45:37 -07:00
video
virt/vmx/tdx
xen x86/xen: Add support for HVMOP_set_evtchn_upcall_vector 2022-08-12 11:28:21 +02:00
.gitignore x86/purgatory: Omit use of bin2c 2022-07-25 10:32:32 +02:00
Kbuild
Kconfig - The usual batches of cleanups from Baoquan He, Muchun Song, Miaohe 2022-08-05 16:32:45 -07:00
Kconfig.assembler
Kconfig.cpu
Kconfig.debug arch: make TRACE_IRQFLAGS_NMI_SUPPORT generic 2022-06-23 15:39:21 +01:00
Makefile lkdtm: Disable return thunks in rodata.c 2022-07-20 19:24:53 +02:00
Makefile.um
Makefile_32.cpu