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]
Date:   Fri, 28 Jun 2019 14:08:19 -0700
From:   "Jonathan Lemon" <jonathan.lemon@...il.com>
To:     "Jakub Kicinski" <jakub.kicinski@...ronome.com>
Cc:     netdev@...r.kernel.org, bjorn.topel@...el.com,
        magnus.karlsson@...el.com, saeedm@...lanox.com,
        maximmi@...lanox.com, brouer@...hat.com, kernel-team@...com
Subject: Re: [PATCH 2/6 bpf-next] Clean up xsk reuseq API



On 28 Jun 2019, at 13:41, Jakub Kicinski wrote:

> On Thu, 27 Jun 2019 19:31:26 -0700, Jonathan Lemon wrote:
>> On 27 Jun 2019, at 15:38, Jakub Kicinski wrote:
>>
>>> On Thu, 27 Jun 2019 15:08:32 -0700, Jonathan Lemon wrote:
>>>> The reuseq is actually a recycle stack, only accessed from the kernel
>>>> side.
>>>> Also, the implementation details of the stack should belong to the
>>>> umem
>>>> object, and not exposed to the caller.
>>>>
>>>> Clean up and rename for consistency in preparation for the next
>>>> patch.
>>>>
>>>> Signed-off-by: Jonathan Lemon <jonathan.lemon@...il.com>
>>>
>>> Prepare/swap is to cater to how drivers should be written - being able
>>> to allocate resources independently of those currently used.  Allowing
>>> for changing ring sizes and counts on the fly.  This patch makes it
>>> harder to write drivers in the way we are encouraging people to.
>>>
>>> IOW no, please don't do this.
>>
>> The main reason I rewrote this was to provide the same type
>> of functionality as realloc() - no need to allocate/initialize a new
>> array if the old one would still end up being used.  This would seem
>> to be a win for the typical case of having the interface go up/down.
>>
>> Perhaps I should have named the function differently?
>
> Perhaps add a helper which calls both parts to help poorly architected
> drivers?

Still ends up taking more memory.

There are only 3 drivers in the tree which do AF_XDP: i40e, ixgbe, and mlx5.

All of these do the same thing:
    reuseq = xsk_reuseq_prepare(n)
    if (!reuseq)
       error
    xsk_reuseq_free(xsk_reuseq_swap(umem, reuseq));

I figured simplifying was a good thing.

But I do take your point that some future driver might want to allocate
everything up front before performing a commit of the resources.
-- 
Jonathan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ