android_kernel_motorola_sm6375/arch
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Juergen Gross 0bf9fd89ba x86/alternative: Don't call text_poke() in lazy TLB mode
commit abee7c494d8c41bb388839bccc47e06247f0d7de upstream.

When running in lazy TLB mode the currently active page tables might
be the ones of a previous process, e.g. when running a kernel thread.

This can be problematic in case kernel code is being modified via
text_poke() in a kernel thread, and on another processor exit_mmap()
is active for the process which was running on the first cpu before
the kernel thread.

As text_poke() is using a temporary address space and the former
address space (obtained via cpu_tlbstate.loaded_mm) is restored
afterwards, there is a race possible in case the cpu on which
exit_mmap() is running wants to make sure there are no stale
references to that address space on any cpu active (this e.g. is
required when running as a Xen PV guest, where this problem has been
observed and analyzed).

In order to avoid that, drop off TLB lazy mode before switching to the
temporary address space.

Fixes: cefa929c03 ("x86/mm: Introduce temporary mm structs")
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20201009144225.12019-1-jgross@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-13 12:51:40 +02:00
..
alpha y2038: rusage: use __kernel_old_timeval 2024-03-15 10:48:18 -04:00
arc
arm arm: dts: marvell: Fix maxium->maxim typo in brownstone dts 2024-04-13 12:51:22 +02:00
arm64 arm64: dts: rockchip: fix rk3399 hdmi ports node 2024-04-13 12:51:37 +02:00
c6x
csky
h8300
hexagon
ia64 arch, mm: remove stale mentions of DISCONIGMEM 2024-02-23 08:25:13 +01:00
m68k
microblaze
mips MIPS: Clear Cause.BD in instruction_pointer_set 2024-03-26 18:22:12 -04:00
nds32 arch, mm: remove stale mentions of DISCONIGMEM 2024-02-23 08:25:13 +01:00
nios2
openrisc
parisc parisc: Strip upper 32 bit of sum in csum_ipv6_magic for 64-bit builds 2024-04-13 12:51:24 +02:00
powerpc powerpc: xor_vmx: Add '-mhard-float' to CFLAGS 2024-04-13 12:51:31 +02:00
riscv
s390 s390/entry: align system call table on 8 bytes 2024-04-13 12:51:37 +02:00
sh
sparc sparc: vDSO: fix return value of __setup handler 2024-04-13 12:51:22 +02:00
um um: allow not setting extra rpaths in the linux binary 2024-03-15 10:48:16 -04:00
unicore32
x86 x86/alternative: Don't call text_poke() in lazy TLB mode 2024-04-13 12:51:40 +02:00
xtensa arch, mm: remove stale mentions of DISCONIGMEM 2024-02-23 08:25:13 +01:00
.gitignore
Kconfig