diff options
Diffstat (limited to 'net/ipv6/raw.c')
| -rw-r--r-- | net/ipv6/raw.c | 14 | 
1 files changed, 6 insertions, 8 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index b2dc60b0c764..39d44226e402 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -176,7 +176,7 @@ static bool ipv6_raw_deliver(struct sk_buff *skb, int nexthdr)  		goto out;  	net = dev_net(skb->dev); -	sk = __raw_v6_lookup(net, sk, nexthdr, daddr, saddr, IP6CB(skb)->iif); +	sk = __raw_v6_lookup(net, sk, nexthdr, daddr, saddr, inet6_iif(skb));  	while (sk) {  		int filtered; @@ -220,7 +220,7 @@ static bool ipv6_raw_deliver(struct sk_buff *skb, int nexthdr)  			}  		}  		sk = __raw_v6_lookup(net, sk_next(sk), nexthdr, daddr, saddr, -				     IP6CB(skb)->iif); +				     inet6_iif(skb));  	}  out:  	read_unlock(&raw_v6_hashinfo.lock); @@ -375,7 +375,7 @@ void raw6_icmp_error(struct sk_buff *skb, int nexthdr,  		net = dev_net(skb->dev);  		while ((sk = __raw_v6_lookup(net, sk, nexthdr, saddr, daddr, -						IP6CB(skb)->iif))) { +						inet6_iif(skb)))) {  			rawv6_err(sk, skb, NULL, type, code,  					inner_offset, info);  			sk = sk_next(sk); @@ -506,7 +506,7 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,  		sin6->sin6_addr = ipv6_hdr(skb)->saddr;  		sin6->sin6_flowinfo = 0;  		sin6->sin6_scope_id = ipv6_iface_scope_id(&sin6->sin6_addr, -							  IP6CB(skb)->iif); +							  inet6_iif(skb));  		*addr_len = sizeof(*sin6);  	} @@ -588,8 +588,7 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6,  	}  	offset += skb_transport_offset(skb); -	if (skb_copy_bits(skb, offset, &csum, 2)) -		BUG(); +	BUG_ON(skb_copy_bits(skb, offset, &csum, 2));  	/* in case cksum was not initialized */  	if (unlikely(csum)) @@ -601,8 +600,7 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6,  	if (csum == 0 && fl6->flowi6_proto == IPPROTO_UDP)  		csum = CSUM_MANGLED_0; -	if (skb_store_bits(skb, offset, &csum, 2)) -		BUG(); +	BUG_ON(skb_store_bits(skb, offset, &csum, 2));  send:  	err = ip6_push_pending_frames(sk);  |