patch-2.4.27 linux-2.4.27/net/ipv4/udp.c

Next file: linux-2.4.27/net/ipv6/af_inet6.c
Previous file: linux-2.4.27/net/ipv4/tcp_output.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.26/net/ipv4/udp.c linux-2.4.27/net/ipv4/udp.c
@@ -290,7 +290,7 @@
 		    ipv6_only_sock(s)					||
 		    (s->bound_dev_if && s->bound_dev_if != dif))
 			continue;
-		if (!ip_mc_sf_allow(sk, loc_addr, rmt_addr, dif))
+		if (!ip_mc_sf_allow(s, loc_addr, rmt_addr, dif))
 			continue;
 		break;
   	}
@@ -698,7 +698,10 @@
   	}
 	if (sk->protinfo.af_inet.cmsg_flags)
 		ip_cmsg_recv(msg, skb);
+
 	err = copied;
+	if (flags & MSG_TRUNC)
+		err = skb->len - sizeof(struct udphdr);
   
 out_free:
   	skb_free_datagram(sk, skb);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)