[BUG] powerpc: unrecoverable exception due to arch_local_irq_restore() called in NMI context on Power11

From: Venkat Rao Bagalkote

Date: Fri Sep 25 2026 - 10:41:12 EST


Hello,

IBM CI has reported has reported an unrecoverable kernel exception on Power11 pSeries
systems triggered reliably by running a parallel kernel build.


Hardware
--------
IBM,9080-HEX Power11 (architected) 0x820200
hv:phyp pSeries, FW1110.01 (NH1110_069)
32 CPUs, 60GB RAM

Kernel
------
powerpc/linux.git merge branch
commit b0956825c (2026-09-21 "Automatic merge of 'fixes' into merge")

Config
------
CONFIG_PPC_IRQ_SOFT_MASK_DEBUG=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_PPC_WATCHDOG=y
PREEMPT_DYNAMIC (lazy mode)

Reproducer
----------
  make clean && make -j$(nproc)

Triggers within ~120 seconds on a 32-CPU Power11 system.


Symptoms
--------
First, two WARNINGs fire at irq_64.c:217/218:

  [121.124041] WARNING: arch/powerpc/kernel/irq_64.c:217 at
               arch_local_irq_restore+0x290/0x328, CPU#1: make/6861
  [121.124113] LR [c0000000005036d8] trace_hardirqs_on_prepare+0x98/0x150
  [121.124117] Call Trace:
  [121.124120]  trace_hardirqs_on_prepare+0x98/0x150
  [121.124123]  irqentry_nmi_exit+0x12c/0x168
  [121.124128]  soft_nmi_interrupt+0x468/0x6c4
  [121.124131]  soft_nmi_common+0x1b0/0x28c
  [121.124134]  ---- interrupt: 900 at end_real_trampolines+0x0/0x1000

  [121.124184] WARNING: arch/powerpc/kernel/irq_64.c:218 at
               arch_local_irq_restore+0x2a0/0x328, CPU#1: make/6861

Followed by an unrecoverable exception:

[  202.258332] Oops: Exception in kernel mode, sig: 4 [#1]
[  202.258527] LE PAGE_SIZE=4K MMU=Radix  SMP NR_CPUS=8192 NUMA pSeries
[  202.258531] Modules linked in: nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 bonding tls ip_set nf_tables rfkill fsdev_dax kmem device_dax pseries_rng vmx_crypto dax_pmem fuse ext4 crc16 mbcache jbd2 sd_mod nd_pmem papr_scm sg libnvdimm ibmvscsi ibmveth scsi_transport_srp pseries_wdt
[  202.258570] CPU: 2 UID: 0 PID: 1598 Comm: git-remote-http Kdump: loaded Tainted: G        W           7.3.0-rc4+ #2 PREEMPT(lazy)
[  202.258576] Tainted: [W]=WARN
[  202.258578] Hardware name: IBM,9080-HEX Power11 (architected) 0x820200 0xf000007 of:IBM,FW1110.01 (NH1110_069) hv:phyp pSeries
[  202.258582] NIP:  000000000003e178 LR: c00000000003e174 CTR: 0000000000000000
[  202.258586] REGS: c000000effc17d60 TRAP: 0700   Tainted: G   W            (7.3.0-rc4+)
[  202.258590] MSR:  0000000000081000 <ME>  CR: 00000000 XER: e0017930
[  202.258596] CFAR: c00000000000d158 IRQMASK: 0
GPR00: c000000effc17930 0000000000000000 c000000002252580 c000000002252600
GPR04: c000000effc179a0 c000000effc17a08 c000000effc179e0 0000000000000000
GPR08: c00000000002c254 0000000000000000 0000000000000000 0000000000000000
GPR12: 0000000000000000 c000000effffdf00 0000000000000000 0000000000000000
GPR16: 0000000000000000 0000000000000000 0000000000000000 c000000002267878
GPR20: c000000effc179e0 0000000000000000 0000000000000000 0000000000000001
GPR24: 0000000000000800 0000000000000003 0000000000000000 c000000002259970
GPR28: c000000effc17ba0 0000000000000009 c00000000003dc60 c000000002267878
[  202.258637] NIP [000000000003e178] 0x3e178
[  202.258642] LR [c00000000003e174] arch_local_irq_restore+0x2a4/0x328
[  202.258649] Call Trace:
[  202.258651] [c000000effc17b80] [c000000000023afc] show_regs+0x5c/0x1d4 (unreliable)
[  202.258658] [c000000effc17c30] [c00000000002d05c] __die+0x114/0x17c
[  202.258663] [c000000effc17cc0] [c00000000002dd44] die+0x74/0xe4
[  202.258669] [c000000effc17d00] [c000000000031dd0] program_check_exception+0x3c/0xf0
[  202.258675] [c000000effc17d30] [c000000000009b2c] program_check_common_virt+0x3bc/0x3c0
[  202.258680] ---- interrupt: 700 at 0x3e178
[  202.258683] NIP:  000000000003e178 LR: c00000000003e174 CTR: 0000000000000000
[  202.258687] REGS: c000000effc17d60 TRAP: 0700   Tainted: G   W            (7.3.0-rc4+)
[  202.258690] MSR:  0000000000081000 <ME>  CR: 00000000 XER: e0017930
[  202.258695] CFAR: c00000000000d158 IRQMASK: 0
GPR00: c000000effc17930 0000000000000000 c000000002252580 c000000002252600
GPR04: c000000effc179a0 c000000effc17a08 c000000effc179e0 0000000000000000
GPR08: c00000000002c254 0000000000000000 0000000000000000 0000000000000000
GPR12: 0000000000000000 c000000effffdf00 0000000000000000 0000000000000000
GPR16: 0000000000000000 0000000000000000 0000000000000000 c000000002267878
GPR20: c000000effc179e0 0000000000000000 0000000000000000 0000000000000001
GPR24: 0000000000000800 0000000000000003 0000000000000000 c000000002259970
GPR28: c000000effc17ba0 0000000000000009 c00000000003dc60 c000000002267878
[  202.258735] NIP [000000000003e178] 0x3e178
[  202.258738] LR [c00000000003e174] arch_local_irq_restore+0x2a4/0x328
[  202.258743] ---- interrupt: 700
[  202.258745] Code: 892d0153 2c090000 4082fe30 992d0152 4bfffde0 60000000 0fe00000 4bfffda0 60000000 60000000 0fe00000 4bfffda0 <60000000> 60000000 0fe00000 4bfffd9c
[  202.258760] ---[ end trace 0000000000000000 ]---


If you happen to fix this, please add below tag.

Reported-by: Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>


Regards,

Venkat.