On Fri, 2020-03-06 at 15:01:40 UTC, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= wrote: > When a CPU is brought up, an IPI number is allocated and recorded > under the XIVE CPU structure. Invalid IPI numbers are tracked with > interrupt number 0x0. > > On the PowerNV platform, the interrupt number space starts at 0x10 and > this works fine. However, on the sPAPR platform, it is possible to > allocate the interrupt number 0x0 and this raises an issue when CPU 0 > is unplugged. The XIVE spapr driver tracks allocated interrupt numbers > in a bitmask and it is not correctly updated when interrupt number 0x0 > is freed. It stays allocated and it is then impossible to reallocate. > > Fix by using the XIVE_BAD_IRQ value instead of zero on both platforms. > > Reported-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> > Fixes: eac1e731b59e ("powerpc/xive: guest exploitation of the XIVE interrupt controller") > Cc: stable@xxxxxxxxxxxxxxx # v4.14+ > Signed-off-by: Cédric Le Goater <clg@xxxxxxxx> Series applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/b1a504a6500df50e83b701b7946b34fce27ad8a3 cheers