Re: [PATCH] PCI: pciehp: Prevent child devices from doing RPM on PCIe Link Down

From: Lukas Wunner
Date: Tue Oct 17 2023 - 03:14:04 EST


[cc -= unrelated mailing lists bpf, kernel-hardening]

On Tue, Oct 17, 2023 at 12:35:18PM +0800, Kai-Heng Feng wrote:
> On Mon, Oct 16, 2023 at 5:32???PM Lukas Wunner <lukas@xxxxxxxxx> wrote:
> > On Mon, Oct 16, 2023 at 12:01:31PM +0800, Kai-Heng Feng wrote:
> > > [ 63.898861] pcieport 0000:00:1c.0: pciehp: Slot(8): Link Down
> > > [ 63.912118] BUG: unable to handle page fault for address: ffffb24d403e5010
> > [...]
> > > [ 63.912198] ? asm_exc_page_fault+0x27/0x30
> > > [ 63.912203] ? ioread32+0x2e/0x70
> > > [ 63.912206] ? rtsx_pci_write_register+0x5b/0x90 [rtsx_pci]
> > > [ 63.912217] rtsx_set_l1off_sub+0x1c/0x30 [rtsx_pci]
> > > [ 63.912226] rts5261_set_l1off_cfg_sub_d0+0x36/0x40 [rtsx_pci]
> > > [ 63.912234] rtsx_pci_runtime_idle+0xc7/0x160 [rtsx_pci]
> > > [ 63.912243] ? __pfx_pci_pm_runtime_idle+0x10/0x10
> > > [ 63.912246] pci_pm_runtime_idle+0x34/0x70
> > > [ 63.912248] rpm_idle+0xc4/0x2b0
> > > [ 63.912251] pm_runtime_work+0x93/0xc0
> > > [ 63.912254] process_one_work+0x21a/0x430
> > > [ 63.912258] worker_thread+0x4a/0x3c0
> >
> > This looks like pcr->remap_addr is accessed after it has been iounmap'ed
> > in rtsx_pci_remove() or before it has been iomap'ed in rtsx_pci_probe().
> >
> > Is the card reader itself located below a hotplug port and unplugged here?
> > Or is this about the card being removed from the card reader?
> >
> > Having full dmesg output and lspci -vvv output attached to a bugzilla
> > would help to understand what is going on.
>
> I don't have the hardware so we need Ricky to provide more information here.
>
> Regardless of the cardreader issue, do you have any concern on the patch
> itself?

Yes, my concern is that this might be the wrong approach. I would like
to understand what is going on, hence my questions above.

Thanks,

Lukas