struct sk_buff *skb; unsigned int app_win = tp->rcv_nxt - tp->copied_seq; int ofo_win = 0; 
static void tcp_clamp_window(struct sock *sk, struct tcp_sock *tp){	struct inet_connection_sock *icsk = inet_csk(sk);	struct sk_buff *skb;	unsigned int app_win = tp->rcv_nxt - tp->copied_seq;	int ofo_win = 0;	icsk->icsk_ack.quick = 0;	skb_queue_walk(&tp->out_of_order_queue, skb) {		ofo_win += skb->len;	}	/* If overcommit is due to out of order segments,	 * do not clamp window. Try to expand rcvbuf instead.	 */	if (ofo_win) {		if (sk->sk_rcvbuf < sysctl_tcp_rmem[2] &&		    !(sk->sk_userlocks & SOCK_RCVBUF_LOCK) &&		    !tcp_memory_pressure &&		    atomic_read(&tcp_memory_allocated) < sysctl_tcp_mem[0])			sk->sk_rcvbuf = min(atomic_read(&sk->sk_rmem_alloc),					    sysctl_tcp_rmem[2]);	}	if (atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf) {		app_win += ofo_win;		if (atomic_read(&sk->sk_rmem_alloc) >= 2 * sk->sk_rcvbuf)			app_win >>= 1;		if (app_win > icsk->icsk_ack.rcv_mss)			app_win -= icsk->icsk_ack.rcv_mss;		app_win = max(app_win, 2U*tp->advmss);		tp->rcv_ssthresh = min(tp->window_clamp, 2U*tp->advmss);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/326f36e9e7de362e09745ce6f84b65e7ccac33ba/tcp_input.c/buggy/net/ipv4/tcp_input.c