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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 31 Jan 2023 15:29:58 +0300
From:   Evgenii Shatokhin <e.shatokhin@...ro.com>
To:     Will McVicker <willmcvicker@...gle.com>,
        Lorenzo Pieralisi <lpieralisi@...nel.org>
CC:     <kernel-team@...roid.com>, Vidya Sagar <vidyas@...dia.com>,
        Christoph Hellwig <hch@...radead.org>,
        Robin Murphy <robin.murphy@....com>,
        <linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
        Gustavo Pimentel <gustavo.pimentel@...opsys.com>,
        Jingoo Han <jingoohan1@...il.com>,
        Rob Herring <robh@...nel.org>,
        Krzysztof WilczyƄski <kw@...ux.com>,
        Bjorn Helgaas <bhelgaas@...gle.com>, <linux@...ro.com>
Subject: Re: [PATCH v6 0/2] PCI: dwc: Add support for 64-bit MSI target
 addresses

Hi,

On 26.08.2022 02:54, Will McVicker wrote:
> Hi All,
> 
> I've update patch 2/2 to address Robin's suggestions. This includes:
> 
>   * Dropping the while-loop for retrying with a 64-bit mask in favor of
>     retrying within the error if-statement.
>   * Using an int for the DMA mask instead of a bool and ternary operation.
> 
> Thanks again for the reviews and sorry for the extra revision today!
> Hopefully this is the last one :) If not, I'd be fine to submit patch 1/2
> without 2/2 to avoid resending patch 1/2 for future revisions of patch 2/2
> (unless I don't need to do that anyway).

The first patch of the series made it into the mainline kernel, but, it 
seems, the second one ("PCI: dwc: Add support for 64-bit MSI target 
address") did not. As of 6.2-rc6, it is still missing.

Was it intentionally dropped because of some issues or, perhaps, just by 
accident? If it was by accident, could you please queue it for inclusion 
into mainline again?

Support for 64-bit MSI target addresses is needed for some of our SoCs. 
I ran into a situation when there was no available RAM in ZONE_DMA32 
during initialization of PCIe host. Hence, dmam_alloc_coherent() failed 
in dw_pcie_msi_host_init() and initialization failed with -ENOMEM:

[    0.374834] dw-pcie 4000000.pcie0: host bridge /soc/pcie0@...0000 ranges:
[    0.375813] dw-pcie 4000000.pcie0:      MEM 
0x0041000000..0x004fffffff -> 0x0041000000
[    0.376171] dw-pcie 4000000.pcie0:   IB MEM 
0x0400000000..0x07ffffffff -> 0x0400000000
[    0.377914] dw-pcie 4000000.pcie0: Failed to alloc and map MSI data
[    0.378191] dw-pcie 4000000.pcie0: Failed to initialize host
[    0.378255] dw-pcie: probe of 4000000.pcie0 failed with error -12

Mainline kernel 6.2-rc6 was used in that test.

The hardware supports 64-bit target addresses, so the patch "PCI: dwc: 
Add support for 64-bit MSI target address" should help with this 
particular failure.


> 
> Thanks,
> Will
> 
> Will McVicker (2):
>    PCI: dwc: Drop dependency on ZONE_DMA32
> 
> v6:
>   * Retrying DMA allocation with 64-bit mask within the error if-statement.
>   * Use an int for the DMA mask instead of a bool and ternary operation.
> 
> v5:
>   * Updated patch 2/2 to first try with a 32-bit DMA mask. On failure,
>     retry with a 64-bit mask if supported.
> 
> v4:
>   * Updated commit descriptions.
>   * Renamed msi_64b -> msi_64bit.
>   * Dropped msi_64bit ternary use.
>   * Dropped export of dw_pcie_msi_capabilities.
> 
> v3:
>    * Switched to a managed DMA allocation.
>    * Simplified the DMA allocation cleanup.
>    * Dropped msi_page from struct dw_pcie_rp.
>    * Allocating a u64 instead of a full page.
> 
> v2:
>    * Fixed build error caught by kernel test robot
>    * Fixed error handling reported by Isaac Manjarres
>   PCI: dwc: Add support for 64-bit MSI target address
> 
>   .../pci/controller/dwc/pcie-designware-host.c | 43 +++++++++----------
>   drivers/pci/controller/dwc/pcie-designware.c  |  8 ++++
>   drivers/pci/controller/dwc/pcie-designware.h  |  2 +-
>   3 files changed, 30 insertions(+), 23 deletions(-)
> 
> 
> base-commit: 568035b01cfb107af8d2e4bd2fb9aea22cf5b868

Thank you in advance.

Regards,
Evgenii



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ