udp: Fix udp_poll() and ioctl()
authorEric Dumazet <eric.dumazet@gmail.com>
Fri, 9 Oct 2009 04:43:40 +0000 (04:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Oct 2009 10:16:54 +0000 (03:16 -0700)
commit85584672012ee0c3b7b8e033a1ecf7c11878e45f
treef35b38f084453e2d7260d4a7a8d13f2a01641664
parent9652041da18a1a1d9a0b7ebd9eef16bd712be38a
udp: Fix udp_poll() and ioctl()

udp_poll() can in some circumstances drop frames with incorrect checksums.

Problem is we now have to lock the socket while dropping frames, or risk
sk_forward corruption.

This bug is present since commit 95766fff6b9a78d1
([UDP]: Add memory accounting.)

While we are at it, we can correct ioctl(SIOCINQ) to also drop bad frames.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/udp.c