]> git.baikalelectronics.ru Git - kernel.git/commit
l2tp: do not use udp_ioctl()
authorEric Dumazet <edumazet@google.com>
Fri, 10 Feb 2017 00:15:52 +0000 (16:15 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Feb 2017 20:57:34 +0000 (15:57 -0500)
commit31f32b7a3813d7c05ecaa70ab6f2457044e70547
treeedd4c429c973566b233252d3d55343a2bea7c9e9
parentffaf06ed576da75905fcf2adaeaff9f6d80d769f
l2tp: do not use udp_ioctl()

udp_ioctl(), as its name suggests, is used by UDP protocols,
but is also used by L2TP :(

L2TP should use its own handler, because it really does not
look the same.

SIOCINQ for instance should not assume UDP checksum or headers.

Thanks to Andrey and syzkaller team for providing the report
and a nice reproducer.

While crashes only happen on recent kernels (after commit
ab6926eb0861 ("udp: do fwd memory scheduling on dequeue")), this
probably needs to be backported to older kernels.

Fixes: ab6926eb0861 ("udp: do fwd memory scheduling on dequeue")
Fixes: 2bd8fe55eb76 ("udp: Fix udp_poll() and ioctl()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_core.h
net/l2tp/l2tp_ip.c
net/l2tp/l2tp_ip6.c