lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d8ccc4ea-385a-4def-bc71-574a99538e34@nvidia.com>
Date: Mon, 8 Jan 2024 17:28:31 +0530
From: Vidya Sagar <vidyas@...dia.com>
To: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@...ux.intel.com>,
 bhelgaas@...gle.com, rdunlap@...radead.org, ilpo.jarvinen@...ux.intel.com,
 tglx@...utronix.de
Cc: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
 treding@...dia.com, jonathanh@...dia.com, sdonthineni@...dia.com,
 kthota@...dia.com, mmaddireddy@...dia.com, sagar.tv@...il.com
Subject: Re: [PATCH V1] PCI/MSI: Fix MSI hwirq truncation



On 1/5/2024 10:32 PM, Kuppuswamy Sathyanarayanan wrote:
> External email: Use caution opening links or attachments
> 
> 
> On 1/5/2024 5:43 AM, Vidya Sagar wrote:
>> While calculating the hwirq number for an MSI interrupt, the higher
>> bits (i.e. from bit-5 onwards a.k.a domain_nr >= 32) of the PCI domain
>> number gets truncated because of the shifted value casting to u32. This
>> for example is resulting in same hwirq number for devices 0019:00:00.0
>> and 0039:00:00.0.
>>
>> So, cast the PCI domain number to u64 before left shifting it to
>> calculate hwirq number.
> 
> This seems like a bug fix. Why not add Fixes: tag?
This doesn't seem to be introduced by any recent change as such. It has
been from the time the original change appeared in the mainline. I'll
give the commit ID of the original change for 'Fixes'.

> 
> Is this issue detected in a platform test? Maybe including the relevant
> details about it will help reproduce the issue.
The issue is detected while running ARM's ACS test suite. But, I
couldn't give that info as there was some bug in the test suite itself
for which I raised an issue at 
https://gitlab.arm.com/linux-arm/linux-acs/-/issues/2

> 
>>
>> Signed-off-by: Vidya Sagar <vidyas@...dia.com>
>> ---
>>   drivers/pci/msi/irqdomain.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c
>> index c8be056c248d..cfd84a899c82 100644
>> --- a/drivers/pci/msi/irqdomain.c
>> +++ b/drivers/pci/msi/irqdomain.c
>> @@ -61,7 +61,7 @@ static irq_hw_number_t pci_msi_domain_calc_hwirq(struct msi_desc *desc)
>>
>>        return (irq_hw_number_t)desc->msi_index |
>>                pci_dev_id(dev) << 11 |
>> -             (pci_domain_nr(dev->bus) & 0xFFFFFFFF) << 27;
>> +             ((irq_hw_number_t)(pci_domain_nr(dev->bus) & 0xFFFFFFFF)) << 27;
>>   }
>>
>>   static void pci_msi_domain_set_desc(msi_alloc_info_t *arg,
> 
> --
> Sathyanarayanan Kuppuswamy
> Linux Kernel Developer

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ