mirror of https://gitee.com/openkylin/linux.git
[LLC]: Use pskb_trim_rcsum() in llc_fixup_skb().
Kernel Bugzilla #6409 If we use plain skb_trim(), that's wrong, because if the SKB is cloned, and it can be because we unshared it in the caller, we have to allow reallocation. The pskb_trim*() family of routines is therefore the most appropriate here. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3672558c61
commit
5185db09f4
|
@ -118,7 +118,8 @@ static inline int llc_fixup_skb(struct sk_buff *skb)
|
|||
u16 pdulen = eth_hdr(skb)->h_proto,
|
||||
data_size = ntohs(pdulen) - llc_len;
|
||||
|
||||
skb_trim(skb, data_size);
|
||||
if (unlikely(pskb_trim_rcsum(skb, data_size)))
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue