From 244b2c5ca8b14627e4a17755e5922221e121c771 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 09 Oct 2024 06:15:07 +0000
Subject: [PATCH] change system file
---
kernel/arch/arm64/mm/extable.c | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/kernel/arch/arm64/mm/extable.c b/kernel/arch/arm64/mm/extable.c
index 81e694a..60a8b6a 100644
--- a/kernel/arch/arm64/mm/extable.c
+++ b/kernel/arch/arm64/mm/extable.c
@@ -9,10 +9,19 @@
int fixup_exception(struct pt_regs *regs)
{
const struct exception_table_entry *fixup;
+ unsigned long addr;
- fixup = search_exception_tables(instruction_pointer(regs));
+ addr = instruction_pointer(regs);
+
+ /* Search the BPF tables first, these are formatted differently */
+ fixup = search_bpf_extables(addr);
if (fixup)
- regs->pc = (unsigned long)&fixup->fixup + fixup->fixup;
+ return arm64_bpf_fixup_exception(fixup, regs);
- return fixup != NULL;
+ fixup = search_exception_tables(addr);
+ if (!fixup)
+ return 0;
+
+ regs->pc = (unsigned long)&fixup->fixup + fixup->fixup;
+ return 1;
}
--
Gitblit v1.6.2