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:   Wed, 26 Oct 2016 13:11:22 -0400 (EDT)
From:   David Miller <davem@...emloft.net>
To:     mst@...hat.com
Cc:     brouer@...hat.com, shrijeet@...il.com, tom@...bertland.com,
        netdev@...r.kernel.org, shm@...ulusnetworks.com,
        roopa@...ulusnetworks.com, nikolay@...ulusnetworks.com
Subject: Re: [PATCH net-next RFC WIP] Patch for XDP support for virtio_net

From: "Michael S. Tsirkin" <mst@...hat.com>
Date: Wed, 26 Oct 2016 20:07:19 +0300

> On Wed, Oct 26, 2016 at 12:52:45PM -0400, David Miller wrote:
>> From: "Michael S. Tsirkin" <mst@...hat.com>
>> Date: Wed, 26 Oct 2016 19:36:45 +0300
>> 
>> > On Wed, Oct 26, 2016 at 03:52:02PM +0200, Jesper Dangaard Brouer wrote:
>> >> On Sat, 22 Oct 2016 04:07:23 +0000
>> >> Shrijeet Mukherjee <shrijeet@...il.com> wrote:
>> >> 
>> >> > This patch adds support for xdp ndo and also inserts the xdp program
>> >> > call into the merged RX buffers and big buffers paths
>> >> 
>> >> I really appreciate you are doing this for virtio_net.
>> >> 
>> >> My first question is: Is the (packet) page data writable?
>> >> (MST might be able to answer?)
>> >> 
>> >> As this is currently an XDP requirement[1].  
>> > 
>> > I'm not sure I understand what does writable mean.
>> > Could you explain a bit more pls?
>> > We do copy data into skb ATM but I plan to change that.
>> 
>> The packet data area must be writable,
> 
> This is the part I don't fully understand.
> It's in RAM so of course it's writeable.

Pages in SKB frag lists are not usually writable, because they share
space with data from other packets the way drivers usually carve up
pages to receive packets into.

It is therefore illegal for the networking code to write into SKB frag
pages.

Pages used for XDP processed packets must not have this restriction.

> We share pages between arbitrary multiple packets. I think that's
> OK

That's exactly what is not allowed with XDP.

Each packet must be the sole user of a page, otherwise the semantics
required by XDP are not met.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ