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] [day] [month] [year] [list]
Message-ID: <9074448b-1b2c-4791-94ed-0ac296f0b897@gmail.com>
Date: Mon, 29 Dec 2025 14:32:22 +0100
From: Thomas Fourier <fourier.thomas@...il.com>
To: Potnuri Bharat Teja <bharat@...lsio.com>
Cc: Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller"
 <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
 Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
 netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net] ethernet: cxgb4: Fix dma_unmap_sg() nents value

On 25/06/2025 15:27, Thomas Fourier wrote:
> On 24/06/2025 17:17, Potnuri Bharat Teja wrote:
>> On Monday, June 06/23/25, 2025 at 14:25:55 +0200, Thomas Fourier wrote:
>>> The dma_unmap_sg() functions should be called with the same nents as 
>>> the
>>> dma_map_sg(), not the value the map function returned.
>>>
>>> Fixes: 8b4e6b3ca2ed ("cxgb4: Add HMA support")
>>> Signed-off-by: Thomas Fourier <fourier.thomas@...il.com>
>>> ---
>>>   drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c 
>>> b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
>>> index 51395c96b2e9..73bb1f413761 100644
>>> --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
>>> +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
>>> @@ -3998,7 +3998,7 @@ static void adap_free_hma_mem(struct adapter 
>>> *adapter)
>>>         if (adapter->hma.flags & HMA_DMA_MAPPED_FLAG) {
>>>           dma_unmap_sg(adapter->pdev_dev, adapter->hma.sgt->sgl,
>>> -                 adapter->hma.sgt->nents, DMA_BIDIRECTIONAL);
>>> +                 adapter->hma.sgt->orig_nents, DMA_BIDIRECTIONAL);
>>>           adapter->hma.flags &= ~HMA_DMA_MAPPED_FLAG;
>>>       }
>> Thanks for the patch Thomas.
>> this fix needs below change as well:
>> --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
>> +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
>> @@ -4000,7 +4000,7 @@ static void adap_free_hma_mem(struct adapter 
>> *adapter)
>>          }
>>
>>     for_each_sg(adapter->hma.sgt->sgl, iter,
>> -                   adapter->hma.sgt->orig_nents, i) {
>> +                   adapter->hma.sgt->nents, i) {
>>                  page = sg_page(iter);
>>         if (page)
>>                          __free_pages(page, HMA_PAGE_ORDER);
>
> I don't think this change is correct since this loop iterates over all 
> the pages
>
> allocated at line 4076, not over the dma mapped pages.
>
> It also seems that when passing the dma addresses to hardware,
>
> the newpage assignment is not used line 4104 and that the dma mapping
>
> length is not given to hardware.  Is that correct?
>
>>> -- 
>>> 2.43.0
>>>
Hello Potnuri,

Any update on this patch?

Thanks for your time,

Thomas



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ