diff options
| author | Andrew Gallatin <gallatin@FreeBSD.org> | 2026-05-25 20:33:52 +0000 |
|---|---|---|
| committer | Andrew Gallatin <gallatin@FreeBSD.org> | 2026-05-25 20:33:52 +0000 |
| commit | b97ee5e9ce7b5598be596ef51872c1136b20cf88 (patch) | |
| tree | 0e8e334c04b7f418b53aad115a407af6e47cb8e2 | |
| parent | 6e7c10c79deac3c6bb6ad3bd12c8e0ad68bb59f0 (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.c | 3 |
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)); |
