[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <94da0f09-3246-415e-aa6b-f126b475177e@amd.com>
Date: Wed, 9 Apr 2025 17:14:17 +0530
From: "Aithal, Srikanth" <sraithal@....com>
To: Thomas Gleixner <tglx@...utronix.de>, Bert Karwatzki <spasswolf@....de>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>, linux-kernel@...r.kernel.org,
James.Bottomley@...senPartnership.com, Jonathan.Cameron@...wei.com,
allenbh@...il.com, d-gole@...com, dave.jiang@...el.com,
haiyangz@...rosoft.com, jdmason@...zu.us, kristo@...nel.org,
linux-hyperv@...r.kernel.org, linux-pci@...r.kernel.org,
linux-scsi@...r.kernel.org, logang@...tatee.com,
manivannan.sadhasivam@...aro.org, martin.petersen@...cle.com,
maz@...nel.org, mhklinux@...look.com, nm@...com, ntb@...ts.linux.dev,
peterz@...radead.org, ssantosh@...nel.org, wei.huang2@....com,
wei.liu@...nel.org
Subject: Re: commit 7b025f3f85ed causes NULL pointer dereference
On 4/9/2025 2:16 AM, Thomas Gleixner wrote:
> On Tue, Apr 08 2025 at 18:20, Bert Karwatzki wrote:
>> Am Dienstag, dem 08.04.2025 um 17:29 +0200 schrieb Thomas Gleixner:
>>>> Can you please decode the lines please via:
>>>>
>>>> scripts/faddr2line vmlinux msi_domain_first_desc+0x4/0x30
>>>> scripts/faddr2line vmlinux msix_setup_interrupts+0x23b/0x280
>>>
>>
>> I had to recompile with CONFIG_DEBUG_INFO=Y, and reran the test, the calltrace
>> is identical.
>>
>> $ scripts/faddr2line vmlinux msi_domain_first_desc+0x4/0x30
>> msi_domain_first_desc+0x4/0x30:
>> msi_domain_first_desc at kernel/irq/msi.c:400
>>
>> So it seems msi_domain_first_desc() is called with dev = NULL.
>
> Yup
>
>> $ scripts/faddr2line vmlinux msix_setup_interrupts+0x23b/0x280
>> msix_setup_interrupts+0x23b/0x280:
>> msix_update_entries at drivers/pci/msi/msi.c:647 (discriminator 1)
>
> Aaarg. The patch below should fix that.
>
> Thanks,
>
> tglx
> ---
> diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> index 4027abcafe7a..77cc27e45b66 100644
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -680,8 +680,8 @@ static int __msix_setup_interrupts(struct pci_dev *__dev, struct msix_entry *ent
> if (ret)
> return ret;
>
> - retain_ptr(dev);
> msix_update_entries(dev, entries);
> + retain_ptr(dev);
> return 0;
> }
>
I too hit the same issue. The patch above, applied on top of
next-20250409, resolves the issue.
Thank you.
Tested-by: Srikanth Aithal <sraithal@....com>
Powered by blists - more mailing lists