diff options
| author | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2012-03-21 11:26:18 +0400 | 
|---|---|---|
| committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2012-03-21 11:26:18 +0400 | 
| commit | 3d04d42312eacc68fbcddea337f7eb34bc035dfb (patch) | |
| tree | 7211df5704b743a7667159748c670a9744164482 /net/ipv6/udp.c | |
| parent | c98291ee1ceac03912e24b3219fa6e7dc0d52f5e (diff) | |
| parent | 69a7aebcf019ab3ff5764525ad6858fbe23bb86d (diff) | |
| download | linux-3d04d42312eacc68fbcddea337f7eb34bc035dfb.tar.xz | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'net/ipv6/udp.c')
| -rw-r--r-- | net/ipv6/udp.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 4f96b5c63685..37b0699e95e5 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -342,7 +342,7 @@ int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk,  	struct inet_sock *inet = inet_sk(sk);  	struct sk_buff *skb;  	unsigned int ulen, copied; -	int peeked; +	int peeked, off = 0;  	int err;  	int is_udplite = IS_UDPLITE(sk);  	int is_udp4; @@ -359,7 +359,7 @@ int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk,  try_again:  	skb = __skb_recv_datagram(sk, flags | (noblock ? MSG_DONTWAIT : 0), -				  &peeked, &err); +				  &peeked, &off, &err);  	if (!skb)  		goto out; @@ -1130,7 +1130,8 @@ do_udp_sendmsg:  	if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) {  		fl6.flowi6_oif = np->mcast_oif;  		connected = 0; -	} +	} else if (!fl6.flowi6_oif) +		fl6.flowi6_oif = np->ucast_oif;  	security_sk_classify_flow(sk, flowi6_to_flowi(&fl6));  | 
