xfrm4_input.c (df9b42963f2d010ae3163a894ce22cf6b27cd344) | xfrm4_input.c (14bbd6a565e1bcdc240d44687edb93f721cfdf99) |
---|---|
1/* 2 * xfrm4_input.c 3 * 4 * Changes: 5 * YOSHIFUJI Hideaki @USAGI 6 * Split up af-specific portion 7 * Derek Atkins <derek@ihtfp.com> 8 * Add Encapsulation support --- 118 unchanged lines hidden (view full) --- 127 break; 128 } 129 130 /* At this point we are sure that this is an ESPinUDP packet, 131 * so we need to remove 'len' bytes from the packet (the UDP 132 * header and optional ESP marker bytes) and then modify the 133 * protocol to ESP, and then call into the transform receiver. 134 */ | 1/* 2 * xfrm4_input.c 3 * 4 * Changes: 5 * YOSHIFUJI Hideaki @USAGI 6 * Split up af-specific portion 7 * Derek Atkins <derek@ihtfp.com> 8 * Add Encapsulation support --- 118 unchanged lines hidden (view full) --- 127 break; 128 } 129 130 /* At this point we are sure that this is an ESPinUDP packet, 131 * so we need to remove 'len' bytes from the packet (the UDP 132 * header and optional ESP marker bytes) and then modify the 133 * protocol to ESP, and then call into the transform receiver. 134 */ |
135 if (skb_cloned(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) | 135 if (skb_unclone(skb, GFP_ATOMIC)) |
136 goto drop; 137 138 /* Now we can update and verify the packet length... */ 139 iph = ip_hdr(skb); 140 iphlen = iph->ihl << 2; 141 iph->tot_len = htons(ntohs(iph->tot_len) - len); 142 if (skb->len < iphlen + len) { 143 /* packet is too small!?! */ --- 23 unchanged lines hidden --- | 136 goto drop; 137 138 /* Now we can update and verify the packet length... */ 139 iph = ip_hdr(skb); 140 iphlen = iph->ihl << 2; 141 iph->tot_len = htons(ntohs(iph->tot_len) - len); 142 if (skb->len < iphlen + len) { 143 /* packet is too small!?! */ --- 23 unchanged lines hidden --- |