Re: [PATCH] PCI/AER: Fix struct pci_dev reference leak in aer_process_err_devices()

Lukas Wunner <[email protected]>
Newsgroups gmane.linux.ports.ppc.embedded,gmane.linux.kernel.pci,gmane.linux.kernel
Message-ID <[email protected]>
On Sun, Aug 30, 2026 at 08:28:28PM +0000, Priyank Rathod wrote:
> When an AER error occurs, candidate error-source devices are identified
> and recorded into e_info->dev[] via add_error_device(), which increments
> each device's reference count with pci_dev_get().
> 
> If is_error_source() matches a device purely by Requester/Completer ID
> match (e_info->id == pci_dev_id(dev)), the device is added to e_info->dev[]
> even if it lacks the AER extended capability (dev->aer_cap == 0).
> 
> Later, during aer_process_err_devices(), aer_get_device_error_info()
> returns 0 when dev->aer_cap is 0 (or if no active error status is read),
> causing aer_process_err_devices() to skip handle_error_source().
> Previously, handle_error_source() was responsible for calling
> pci_dev_put(dev). When handle_error_source() was skipped, pci_dev_put()
> was never invoked, permanently leaking the struct pci_dev reference.

The problem is real and the fix looks fine...

> Fixes: 1ab4a3c80508 ("PCI/AER: Stop ruling out unbound devices as error source")

... but the Fixes tag seems to be a hallucination.

Thanks,

Lukas
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.