diff options
Diffstat (limited to 'net/core/skbuff.c')
| -rw-r--r-- | net/core/skbuff.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 6c5915efbc17..a298992060e6 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -4261,6 +4261,11 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb,  	skb_push(skb, -skb_network_offset(skb) + offset); +	/* Ensure the head is writeable before touching the shared info */ +	err = skb_unclone(skb, GFP_ATOMIC); +	if (err) +		goto err_linearize; +  	skb_shinfo(skb)->frag_list = NULL;  	while (list_skb) {  | 
