Thread (8 messages) flat view 8 messages, 4 authors, 2024-08-19

Re: [PATCH v3] PCI: Fix crash during pci_dev hot-unplug on pseries KVM guest

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2024-08-15 03:20:28
Also in: linux-devicetree, linux-pci, lkml

Bjorn Helgaas [off-list ref] writes:
On Sat, Aug 03, 2024 at 12:03:25AM +0530, Amit Machhiwal wrote:
quoted
With CONFIG_PCI_DYNAMIC_OF_NODES [1], a hot-plug and hot-unplug sequence
of a PCI device attached to a PCI-bridge causes following kernel Oops on
a pseries KVM guest:
What is unique about pseries here?  There's nothing specific to
pseries in the patch, so I would expect this to be a generic problem
on any arch.
quoted
 RTAS: event: 2, Type: Hotplug Event (229), Severity: 1
 Kernel attempted to read user page (10ec00000048) - exploit attempt? (uid: 0)
 BUG: Unable to handle kernel data access on read at 0x10ec00000048
Weird address.  I would expect NULL or something.  Where did this
non-NULL pointer come from?
It originally comes from np->data, which is supposed to be an
of_changeset.

The powerpc code also uses np->data for the struct pci_dn pointer, see
pci_add_device_node_info().

I wonder if that's why it's non-NULL?

Amit, do we have exact steps to reproduce this? I poked around a bit but
couldn't get it to trigger.

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help