linux/arch/loongarch
Chenghao Duan c2ed4f71e9 LoongArch: Enable exception fixup for specific ADE subcode
[ Upstream commit 9bdc1ab5e4 ]

This patch allows the LoongArch BPF JIT to handle recoverable memory
access errors generated by BPF_PROBE_MEM* instructions.

When a BPF program performs memory access operations, the instructions
it executes may trigger ADEM exceptions. The kernel’s built-in BPF
exception table mechanism (EX_TYPE_BPF) will generate corresponding
exception fixup entries in the JIT compilation phase; however, the
architecture-specific trap handling function needs to proactively call
the common fixup routine to achieve exception recovery.

do_ade(): fix EX_TYPE_BPF memory access exceptions for BPF programs,
ensure safe execution.

Relevant test cases: illegal address access tests in module_attach and
subprogs_extable of selftests/bpf.

Signed-off-by: Chenghao Duan <duanchenghao@kylinos.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-02-11 13:41:47 +01:00
..
boot LoongArch: dts: loongson-2k2000: Add default interrupt controller address cells 2026-01-23 11:21:32 +01:00
configs LoongArch changes for v6.18 2025-10-06 12:18:56 -07:00
crypto loongarch/crc32: expose CRC32 functions through lib 2024-12-01 17:23:01 -08:00
include LoongArch: Use __pmd()/__pte() for swap entry conversions 2026-01-08 10:17:06 +01:00
kernel LoongArch: Enable exception fixup for specific ADE subcode 2026-02-11 13:41:47 +01:00
kvm LoongArch: KVM: Fix kvm_device leak in kvm_pch_pic_destroy() 2026-01-23 11:21:32 +01:00
lib lib/crc: loongarch: Migrate optimized CRC code into lib/crc/ 2025-06-30 09:31:57 -07:00
mm LoongArch: Set correct protection_map[] for VM_NONE/VM_SHARED 2026-02-11 13:41:47 +01:00
net LoongArch: BPF: Enhance the bpf_arch_text_poke() function 2026-01-08 10:17:21 +01:00
pci LoongArch: Add new PCI ID for pci_fixup_vgadev() 2026-01-08 10:17:05 +01:00
power LoongArch: Save and restore CSR.CNTC for hibernation 2025-05-14 22:17:52 +08:00
vdso LoongArch: vDSO: Remove -nostdlib complier flag 2025-08-05 19:00:22 +08:00
Kbuild LoongArch: Migrate to the generic rule for built-in DTB 2025-01-25 18:51:33 +08:00
Kconfig LoongArch changes for v6.18 2025-10-06 12:18:56 -07:00
Kconfig.debug LoongArch: Only allow OBJTOOL & ORC unwinder if toolchain supports -mthin-add-sub 2024-06-21 10:18:40 +08:00
Makefile rust: kbuild: support -Cjump-tables=n for Rust 1.93.0 2025-11-04 19:11:39 +01:00