aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2026-05-25 20:33:52 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2026-05-25 20:33:52 +0000
commitb97ee5e9ce7b5598be596ef51872c1136b20cf88 (patch)
tree0e8e334c04b7f418b53aad115a407af6e47cb8e2
parent6e7c10c79deac3c6bb6ad3bd12c8e0ad68bb59f0 (diff)
hwpmc: Avoid panic on AMD cpus where IBS is not available
The recent IBS work intruduced a bug on older CPUs where the IBS handler will be called on NMIs even when IBS is not initialized. Work around this in the IBS handler by checking to see if ibs_pcpu is NULL before accessing it.
-rw-r--r--sys/dev/hwpmc/hwpmc_ibs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/hwpmc/hwpmc_ibs.c b/sys/dev/hwpmc/hwpmc_ibs.c
index 8cfe7b2df145..ae14f2ccb14c 100644
--- a/sys/dev/hwpmc/hwpmc_ibs.c
+++ b/sys/dev/hwpmc/hwpmc_ibs.c
@@ -510,6 +510,9 @@ pmc_ibs_intr(struct trapframe *tf)
int retval, cpu;
uint64_t config;
+ if (ibs_pcpu == NULL)
+ return (0);
+
cpu = curcpu;
KASSERT(cpu >= 0 && cpu < pmc_cpu_max(),
("[ibs,%d] out of range CPU %d", __LINE__, cpu));