if (skb->ip_summed != CHECKSUM_UNNECESSARY) { if ((unsigned short)csum_fold(skb_checksum(skb, 0, skb->len, skb->csum))) { UDP6_INC_STATS_BH(UDP_MIB_INERRORS); kfree_skb(skb); return 0; } skb->ip_summed = CHECKSUM_UNNECESSARY; 
if (skb_checksum_complete(skb)) { UDP6_INC_STATS_BH(UDP_MIB_INERRORS); kfree_skb(skb); return 0; 
static inline int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb){	if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) {		kfree_skb(skb);		return -1;	}	if (skb->ip_summed != CHECKSUM_UNNECESSARY) {		if ((unsigned short)csum_fold(skb_checksum(skb, 0, skb->len, skb->csum))) {			UDP6_INC_STATS_BH(UDP_MIB_INERRORS);			kfree_skb(skb);			return 0;		}		skb->ip_summed = CHECKSUM_UNNECESSARY;	}	if (sock_queue_rcv_skb(sk,skb)<0) {		UDP6_INC_STATS_BH(UDP_MIB_INERRORS);		kfree_skb(skb);		return 0;	}	UDP6_INC_STATS_BH(UDP_MIB_INDATAGRAMS);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/fb286bb2990a107009dbf25f6ffebeb7df77f9be/udp.c/clean/net/ipv6/udp.c