aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2023-12-11 14:08:08 +0000
committerMark Johnston <markj@FreeBSD.org>2023-12-11 14:08:08 +0000
commitecc2e6deae71b69a30bf3b7e3354aba002a37d69 (patch)
treebf2d8977fa6be37e9a826f32de2964bb310059a9
parenta6a481eaa2e0f02e24b874f1a08bb494a68972c0 (diff)
downloadsrc-ecc2e6deae71b69a30bf3b7e3354aba002a37d69.tar.gz
src-ecc2e6deae71b69a30bf3b7e3354aba002a37d69.zip
arm: Fix handling of undefined instructions in kernel mode
Only panic if no undefined instruction handler matched the exception. This can arise in practice if the VFP is enabled lazily. While here, fix the panic string to not include a newline. Reviewed by: andrew Obtained from: Stormshield Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D42970
-rw-r--r--sys/arm/arm/undefined.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/arm/arm/undefined.c b/sys/arm/arm/undefined.c
index 706033f5d570..dc29b55ae596 100644
--- a/sys/arm/arm/undefined.c
+++ b/sys/arm/arm/undefined.c
@@ -342,11 +342,11 @@ undefinedinstruction(struct trapframe *frame)
#else
printf("No debugger in kernel.\n");
#endif
- return;
- }
- else
- panic("Undefined instruction in kernel (0x%08x).\n",
+ } else if (uh == NULL) {
+ panic("Undefined instruction in kernel (0x%08x)",
fault_instruction);
+ }
+ return;
}
userret(td, frame);