[PATCH] arm64: Don't call NULL in do_compat_alignment_fixup
Angelos Oikonomopoulos
angelos at igalia.com
Wed Mar 26 06:35:21 PDT 2025
do_alignment_t32_to_handler only fixes up alignment faults for specific
instructions; it returns NULL otherwise. When that's the case, signal to
the caller that it needs to proceed with the regular alignment fault
handling (i.e. SIGBUS).
Signed-off-by: Angelos Oikonomopoulos <angelos at igalia.com>
---
arch/arm64/kernel/compat_alignment.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/kernel/compat_alignment.c b/arch/arm64/kernel/compat_alignment.c
index deff21bfa680..76cf1c1b5bc6 100644
--- a/arch/arm64/kernel/compat_alignment.c
+++ b/arch/arm64/kernel/compat_alignment.c
@@ -34,7 +34,7 @@
#define REGMASK_BITS(i) (i & 0xffff)
-#define BAD_INSTR 0xdeadc0de
+#define BAD_INSTR 0xdeadc0de
/* Thumb-2 32 bit format per ARMv7 DDI0406A A6.3, either f800h,e800h,f800h */
#define IS_T32(hi16) \
@@ -368,6 +368,8 @@ int do_compat_alignment_fixup(unsigned long addr, struct pt_regs *regs)
return 1;
}
+ if (!handler)
+ return 1;
type = handler(addr, instr, regs);
if (type == TYPE_ERROR || type == TYPE_FAULT)
--
2.49.0
More information about the linux-arm-kernel
mailing list