Re: [PATCH 3/5] PCI/ERR: get device before call device driver to avoid null pointer reference

From: Andy Shevchenko
Date: Fri Sep 25 2020 - 12:40:44 EST


On Thu, Sep 24, 2020 at 10:34:21PM -0400, Ethan Zhao wrote:
> During DPC error injection test we found there is race condition between
> pciehp and DPC driver, null pointer reference caused panic as following

null -> NULL

>
> # setpci -s 64:02.0 0x196.w=000a
> // 64:02.0 is rootport has DPC capability
> # setpci -s 65:00.0 0x04.w=0544
> // 65:00.0 is NVMe SSD populated in above port
> # mount /dev/nvme0n1p1 nvme
>
> (tested on stable 5.8 & ICX platform)
>
> Buffer I/O error on dev nvme0n1p1, logical block 468843328,
> async page read
> BUG: kernel NULL pointer dereference, address: 0000000000000050
> #PF: supervisor read access in kernel mode
> #PF: error_code(0x0000) - not-present page

Same comment about Oops.

--
With Best Regards,
Andy Shevchenko