tcp_set_skb_tso_segs(skb, tcp_skb_mss(skb)); 
tcp_set_skb_tso_segs(sk, skb); 
int tcp_trim_head(struct sock *sk, struct sk_buff *skb, u32 len){	if (skb_cloned(skb) &&	    pskb_expand_head(skb, 0, 0, GFP_ATOMIC))		return -ENOMEM;	if (len <= skb_headlen(skb)) {		__skb_pull(skb, len);	} else {		if (__pskb_trim_head(skb, len-skb_headlen(skb)) == NULL)			return -ENOMEM;	}	TCP_SKB_CB(skb)->seq += len;	skb->ip_summed = CHECKSUM_HW;	skb->truesize	     -= len;	sk->sk_wmem_queued   -= len;	sk->sk_forward_alloc += len;	sock_set_flag(sk, SOCK_QUEUE_SHRUNK);	/* Any change of skb->len requires recalculation of tso	 * factor and mss.	 */	if (tcp_skb_pcount(skb) > 1)		tcp_set_skb_tso_segs(skb, tcp_skb_mss(skb));	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d5ac99a648b8c61d0c7f1c32a8ab7f1dca0123d2/tcp_output.c/buggy/net/ipv4/tcp_output.c