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]
Date:   Mon, 6 Dec 2021 17:45:46 +0100
From:   Emmanuel Deloget <emmanuel.deloget@....link>
To:     John Fastabend <john.fastabend@...il.com>,
        Jakub Kicinski <kuba@...nel.org>,
        "Russell King (Oracle)" <linux@...linux.org.uk>
Cc:     Louis Amas <louis.amas@....link>, andrii@...nel.org,
        ast@...nel.org, bpf@...r.kernel.org, daniel@...earbox.net,
        davem@...emloft.net, hawk@...nel.org, kafai@...com,
        kpsingh@...nel.org, linux-kernel@...r.kernel.org, mw@...ihalf.com,
        netdev@...r.kernel.org, songliubraving@...com, yhs@...com
Subject: Re: [PATCH 1/1] net: mvpp2: fix XDP rx queues registering

John,

On 06/12/2021 17:16, John Fastabend wrote:
> Jakub Kicinski wrote:
>> On Mon, 6 Dec 2021 15:42:47 +0000 Russell King (Oracle) wrote:
>>> On Mon, Dec 06, 2021 at 04:37:20PM +0100, Emmanuel Deloget wrote:
>>>> On 10/11/2021 15:41, Louis Amas wrote:
>>>>> The registration of XDP queue information is incorrect because the
>>>>> RX queue id we use is invalid. When port->id == 0 it appears to works
>>>>> as expected yet it's no longer the case when port->id != 0.
>>>>>
>>>>> When we register the XDP rx queue information (using
>>>>> xdp_rxq_info_reg() in function mvpp2_rxq_init()) we tell them to use
>>>>> rxq->id as the queue id. This value iscomputed as:
>>>>> rxq->id = port->id * max_rxq_count + queue_id
>>>>>
>>>>> where max_rxq_count depends on the device version. In the MB case,
>>>>> this value is 32, meaning that rx queues on eth2 are numbered from
>>>>> 32 to 35 - there are four of them.
>>>>>
>>>>> Clearly, this is not the per-port queue id that XDP is expecting:
>>>>> it wants a value in the range [0..3]. It shall directly use queue_id
>>>>> which is stored in rxq->logic_rxq -- so let's use that value instead.
>>>>>
>>>>> This is consistent with the remaining part of the code in
>>>>> mvpp2_rxq_init().
>>
>>>> Is there any update on this patch ? Without it, XDP only partially work on a
>>>> MACCHIATOBin (read: it works on some ports, not on others, as described in
>>>> our analysis sent together with the original patch).
>>>
>>> I suspect if you *didn't* thread your updated patch to your previous
>>> submission, then it would end up with a separate entry in
>>> patchwork.kernel.org,
>>
>> Indeed, it's easier to keep track of patches which weren't posted
>> as a reply in a thread, at least for me.
>>
>>> and the netdev maintainers will notice that the
>>> patch is ready for inclusion, having been reviewed by Marcin.
>>
>> In this case I _think_ it was dropped because it didn't apply.
>>
>> Please rebase on top of net/master and repost if the changes is still
>> needed.
> 
> Also I would add the detailed description to the actual commit not below
> the "--" lines. Capturing that in the log will be useful for future
> reference if we ever hit similar issue here or elsewhere.
> 
> Otherwise for patch,
> 
> Acked-by: John Fastabend <john.fastabend@...il.com>
> 

Ouch. We failed to get this email before resending the patch.

My bad - and sorry for the inconvenience.

I'll see with Louis to change again the commit message and add your 
Acked-by.

Best regards,

-- Emmanuel Deloget

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ