This fixes this strange bug in the 2.4 kernel. Signed-off-by: Alina Friedrichsen <x-al...@gmx.net>
Index: target/linux/brcm-2.4/patches/200-fix_ipv6_receiving_with_ipv4_socket.patch =================================================================== --- target/linux/brcm-2.4/patches/200-fix_ipv6_receiving_with_ipv4_socket.patch (Revision 0) +++ target/linux/brcm-2.4/patches/200-fix_ipv6_receiving_with_ipv4_socket.patch (Revision 0) @@ -0,0 +1,18 @@ +--- 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;
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel