linux/arch/arm64
Nikhil V a8bd38dbc5 arm64: mm: Make hibernation aware of KFENCE
In the restore path, swsusp_arch_suspend_exit uses copy_page() to
over-write memory. However, with features like KFENCE enabled, there could
be situations where it may have marked some pages as not valid, due to
which it could be reported as invalid accesses.

Consider a situation where page 'P' was part of the hibernation image.
Now, when the resume kernel tries to restore the pages, the same page 'P'
is already in use in the resume kernel and is kfence protected, due to
which its mapping is removed from linear map. Since restoring pages happens
with the resume kernel page tables, we would end up accessing 'P' during
copy and results in kernel pagefault.

The proposed fix tries to solve this issue by marking PTE as valid for such
kfence protected pages.

Co-developed-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Signed-off-by: Nikhil V <quic_nprakash@quicinc.com>
Link: https://lore.kernel.org/r/20230713070757.4093-1-quic_nprakash@quicinc.com
Signed-off-by: Will Deacon <will@kernel.org>
2023-07-20 11:44:50 +01:00
..
boot ARM: New SoC support for 6.5 2023-06-29 15:11:17 -07:00
configs ARM: SoC defconfig changes for 6.5 2023-06-29 15:26:45 -07:00
crypto crypto: arm64/sha256-glue - Include module.h 2023-05-19 20:56:59 +08:00
hyperv arm64/hyperv: Use CPUHP_AP_HYPERV_ONLINE state to fix CPU online sequencing 2023-06-17 23:09:47 +00:00
include asm-generic updates for 6.5 2023-07-06 10:06:04 -07:00
kernel Tracing fixes for 6.5: 2023-07-06 19:07:15 -07:00
kvm ARM64: 2023-07-03 15:32:22 -07:00
lib arm64: xor-neon: mark xor_arm64_neon_*() static 2023-05-25 17:44:01 +01:00
mm arm64: mm: Make hibernation aware of KFENCE 2023-07-20 11:44:50 +01:00
net bpf, arm64: Support struct arguments in the BPF trampoline 2023-05-15 21:17:22 +02:00
tools arm64: Fix HFGxTR_EL2 field naming 2023-07-13 10:15:38 +01:00
xen
Kbuild
Kconfig ARM64: 2023-07-03 15:32:22 -07:00
Kconfig.debug
Kconfig.platforms STM32 STM32MP25 for v6.5, round 1 2023-06-20 22:28:44 +02:00
Makefile arm64 updates for 6.3: 2023-02-21 15:27:48 -08:00