This fixes this strange bug in the 2.4 kernel.
Signed-off-by: Alina Friedrichsen <[email protected]>
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
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel