1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-09-19 12:22:26 +03:00
openwrt-xburst/target/linux/brcm-2.4/patches/200-fix_ipv6_receiving_with_ipv4_socket.patch
jow 6848738976 [brcm-2.4] fix a kernel bug where IPv6 packets are received on IPv4 sockets, this fixes dual stack software like OLSRd when running on Kernel 2.4
Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21461 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-15 22:36:56 +00:00

19 lines
432 B
Diff

--- a/net/ipv4/udp.c 2009-12-26 00:06:59.000000000 +0100
+++ b/net/ipv4/udp.c 2009-12-27 00:27:05.003012266 +0100
@@ -711,7 +711,14 @@
skb = skb_recv_datagram(sk, flags, noblock, &err);
if (!skb)
goto out;
-
+
+ if (skb->nh.iph->version != 4) {
+ skb_free_datagram(sk, skb);
+ if (noblock)
+ return -EAGAIN;
+ goto try_again;
+ }
+
copied = skb->len - sizeof(struct udphdr);
if (copied > len) {
copied = len;