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:   Thu, 29 Sep 2022 10:27:24 +0530
From:   Vidya Sagar <vidyas@...dia.com>
To:     Han Jingoo <jingoohan1@...il.com>
Cc:     gustavo.pimentel@...opsys.com, lpieralisi@...nel.org,
        robh@...nel.org, kw@...ux.com, bhelgaas@...gle.com,
        linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
        kthota@...dia.com, mmaddireddy@...dia.com, sagar.tv@...il.com
Subject: Re: [PATCH V2] PCI: dwc: Fix n_fts[] array overrun



On 9/29/2022 7:34 AM, Han Jingoo wrote:
> External email: Use caution opening links or attachments
> 
> 
> On Mon, Sep 26, 2022, Vidya Sagar <vidyas@...dia.com> wrote:
>>
>> commit aeaa0bfe89654 ("PCI: dwc: Move N_FTS setup to common setup")
>> incorrectly uses pci->link_gen in deriving the index to the
>> n_fts[] array also introducing the issue of accessing beyond the
>> boundaries of array for greater than Gen-2 speeds. This change fixes
>> that issue.
> 
> Dear Vidya,
> 
> I am just ok with this patch. By the way, do we need another patch to generalize
> this setting? Currently, this code targets only Gen1 and Gen2. But, in
> my opinion,
> it is possible that this driver can be  used for more than Gen2,
> later. PCIe Gen6
> standard is available and Synopsys has their solution for Gen6. So, would you
> send a new patch to generalize this thing, later?
> Thank you.

As I mentioned in the commit message, current code is incorrectly using 
'gen' in the index and ideally n_fts programming has nothing to do with 
the speed and hence I tried to remove the 'gen' reference in the current 
patch. So, the same code (after applying this patch) should work for any 
future Synopsys IP versions supporting higher speeds.

Thanks,
Vidya Sagar

> 
> Best regards,
> Jingoo Han
> 
>>
>> Fixes: aeaa0bfe8965 ("PCI: dwc: Move N_FTS setup to common setup")
>> Signed-off-by: Vidya Sagar <vidyas@...dia.com>
>> Acked-by: Jingoo Han <jingoohan1@...il.com>
>> ---
>> V2:
>> * Addressed review comments from Bjorn
>> * Added "Acked-by: Jingoo Han <jingoohan1@...il.com>"
>>
>>   drivers/pci/controller/dwc/pcie-designware.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c
>> index 650a7f22f9d0..3df687667f27 100644
>> --- a/drivers/pci/controller/dwc/pcie-designware.c
>> +++ b/drivers/pci/controller/dwc/pcie-designware.c
>> @@ -649,7 +649,7 @@ void dw_pcie_setup(struct dw_pcie *pci)
>>          if (pci->n_fts[1]) {
>>                  val = dw_pcie_readl_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL);
>>                  val &= ~PORT_LOGIC_N_FTS_MASK;
>> -               val |= pci->n_fts[pci->link_gen - 1];
>> +               val |= pci->n_fts[1];
>>                  dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, val);
>>          }
>>
>> --
>> 2.17.1
>>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ