aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/xen-netback/netback.c
diff options
context:
space:
mode:
authorDaniel Borkmann <[email protected]>2013-12-06 11:36:15 +0100
committerDavid S. Miller <[email protected]>2013-12-09 20:09:20 -0500
commit66e56cd46b93ef407c60adcac62cf33b06119d50 (patch)
treed10e5ec58ce412c66700626e39fc363d87c71165 /drivers/net/xen-netback/netback.c
parent98bfd23cdb30e68e90571d7a2607e9479f8a50ec (diff)
packet: fix send path when running with proto == 0
Commit e40526cb20b5 introduced a cached dev pointer, that gets hooked into register_prot_hook(), __unregister_prot_hook() to update the device used for the send path. We need to fix this up, as otherwise this will not work with sockets created with protocol = 0, plus with sll_protocol = 0 passed via sockaddr_ll when doing the bind. So instead, assign the pointer directly. The compiler can inline these helper functions automagically. While at it, also assume the cached dev fast-path as likely(), and document this variant of socket creation as it seems it is not widely used (seems not even the author of TX_RING was aware of that in his reference example [1]). Tested with reproducer from e40526cb20b5. [1] http://wiki.ipxwarzone.com/index.php5?title=Linux_packet_mmap#Example Fixes: e40526cb20b5 ("packet: fix use after free race in send path when dev is released") Signed-off-by: Daniel Borkmann <[email protected]> Tested-by: Salam Noureddine <[email protected]> Tested-by: Jesper Dangaard Brouer <[email protected]> Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'drivers/net/xen-netback/netback.c')
0 files changed, 0 insertions, 0 deletions