lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201805230804.KP8LODgK%fengguang.wu@intel.com>
Date:   Wed, 23 May 2018 08:30:33 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Eric Dumazet <edumazet@...gle.com>
Cc:     kbuild-all@...org, "David S . Miller" <davem@...emloft.net>,
        netdev <netdev@...r.kernel.org>, Van Jacobson <vanj@...gle.com>,
        Neal Cardwell <ncardwell@...gle.com>,
        Yuchung Cheng <ycheng@...gle.com>,
        Soheil Hassas Yeganeh <soheil@...gle.com>,
        Eric Dumazet <edumazet@...gle.com>,
        Eric Dumazet <eric.dumazet@...il.com>
Subject: Re: [PATCH net-next 1/2] tcp: add max_quickacks param to
 tcp_incr_quickack and tcp_enter_quickack_mode

Hi Eric,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net/master]
[also build test ERROR on v4.17-rc6 next-20180517]
[cannot apply to net-next/master]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Eric-Dumazet/tcp-add-max_quickacks-param-to-tcp_incr_quickack-and-tcp_enter_quickack_mode/20180523-075103
config: i386-randconfig-x012-201820 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   net//ipv4/tcp_input.c: In function 'tcp_data_queue':
>> net//ipv4/tcp_input.c:4656:2: error: too few arguments to function 'tcp_enter_quickack_mode'
     tcp_enter_quickack_mode(sk);
     ^~~~~~~~~~~~~~~~~~~~~~~
   net//ipv4/tcp_input.c:199:13: note: declared here
    static void tcp_enter_quickack_mode(struct sock *sk, unsigned int max_quickacks)
                ^~~~~~~~~~~~~~~~~~~~~~~

vim +/tcp_enter_quickack_mode +4656 net//ipv4/tcp_input.c

292e8d8c8 Pavel Emelyanov          2012-05-10  4577  
^1da177e4 Linus Torvalds           2005-04-16  4578  static void tcp_data_queue(struct sock *sk, struct sk_buff *skb)
^1da177e4 Linus Torvalds           2005-04-16  4579  {
^1da177e4 Linus Torvalds           2005-04-16  4580  	struct tcp_sock *tp = tcp_sk(sk);
5357f0bd4 Eric Dumazet             2017-08-01  4581  	bool fragstolen;
5357f0bd4 Eric Dumazet             2017-08-01  4582  	int eaten;
^1da177e4 Linus Torvalds           2005-04-16  4583  
532182cd6 Eric Dumazet             2016-04-01  4584  	if (TCP_SKB_CB(skb)->seq == TCP_SKB_CB(skb)->end_seq) {
532182cd6 Eric Dumazet             2016-04-01  4585  		__kfree_skb(skb);
532182cd6 Eric Dumazet             2016-04-01  4586  		return;
532182cd6 Eric Dumazet             2016-04-01  4587  	}
f84af32cb Eric Dumazet             2010-04-28  4588  	skb_dst_drop(skb);
155c6e1ad Peter Pan(潘卫平         2014-09-24  4589) 	__skb_pull(skb, tcp_hdr(skb)->doff * 4);
^1da177e4 Linus Torvalds           2005-04-16  4590  
735d38311 Florian Westphal         2014-09-29  4591  	tcp_ecn_accept_cwr(tp, skb);
^1da177e4 Linus Torvalds           2005-04-16  4592  
^1da177e4 Linus Torvalds           2005-04-16  4593  	tp->rx_opt.dsack = 0;
^1da177e4 Linus Torvalds           2005-04-16  4594  
^1da177e4 Linus Torvalds           2005-04-16  4595  	/*  Queue data for delivery to the user.
^1da177e4 Linus Torvalds           2005-04-16  4596  	 *  Packets in sequence go to the receive queue.
^1da177e4 Linus Torvalds           2005-04-16  4597  	 *  Out of sequence packets to the out_of_order_queue.
^1da177e4 Linus Torvalds           2005-04-16  4598  	 */
^1da177e4 Linus Torvalds           2005-04-16  4599  	if (TCP_SKB_CB(skb)->seq == tp->rcv_nxt) {
^1da177e4 Linus Torvalds           2005-04-16  4600  		if (tcp_receive_window(tp) == 0)
^1da177e4 Linus Torvalds           2005-04-16  4601  			goto out_of_window;
^1da177e4 Linus Torvalds           2005-04-16  4602  
^1da177e4 Linus Torvalds           2005-04-16  4603  		/* Ok. In sequence. In window. */
^1da177e4 Linus Torvalds           2005-04-16  4604  queue_and_out:
76dfa6082 Eric Dumazet             2015-05-15  4605  		if (skb_queue_len(&sk->sk_receive_queue) == 0)
76dfa6082 Eric Dumazet             2015-05-15  4606  			sk_forced_mem_schedule(sk, skb->truesize);
76dfa6082 Eric Dumazet             2015-05-15  4607  		else if (tcp_try_rmem_schedule(sk, skb, skb->truesize))
^1da177e4 Linus Torvalds           2005-04-16  4608  			goto drop;
5357f0bd4 Eric Dumazet             2017-08-01  4609  
b081f85c2 Eric Dumazet             2012-05-02  4610  		eaten = tcp_queue_rcv(sk, skb, 0, &fragstolen);
bdd1f9eda Eric Dumazet             2015-04-28  4611  		tcp_rcv_nxt_update(tp, TCP_SKB_CB(skb)->end_seq);
^1da177e4 Linus Torvalds           2005-04-16  4612  		if (skb->len)
9e412ba76 Ilpo Järvinen            2007-04-20  4613  			tcp_event_data_recv(sk, skb);
155c6e1ad Peter Pan(潘卫平         2014-09-24  4614) 		if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
20c4cb792 Eric Dumazet             2011-10-20  4615  			tcp_fin(sk);
^1da177e4 Linus Torvalds           2005-04-16  4616  
9f5afeae5 Yaogong Wang             2016-09-07  4617  		if (!RB_EMPTY_ROOT(&tp->out_of_order_queue)) {
^1da177e4 Linus Torvalds           2005-04-16  4618  			tcp_ofo_queue(sk);
^1da177e4 Linus Torvalds           2005-04-16  4619  
^1da177e4 Linus Torvalds           2005-04-16  4620  			/* RFC2581. 4.2. SHOULD send immediate ACK, when
^1da177e4 Linus Torvalds           2005-04-16  4621  			 * gap in queue is filled.
^1da177e4 Linus Torvalds           2005-04-16  4622  			 */
9f5afeae5 Yaogong Wang             2016-09-07  4623  			if (RB_EMPTY_ROOT(&tp->out_of_order_queue))
463c84b97 Arnaldo Carvalho de Melo 2005-08-09  4624  				inet_csk(sk)->icsk_ack.pingpong = 0;
^1da177e4 Linus Torvalds           2005-04-16  4625  		}
^1da177e4 Linus Torvalds           2005-04-16  4626  
^1da177e4 Linus Torvalds           2005-04-16  4627  		if (tp->rx_opt.num_sacks)
^1da177e4 Linus Torvalds           2005-04-16  4628  			tcp_sack_remove(tp);
^1da177e4 Linus Torvalds           2005-04-16  4629  
31770e34e Florian Westphal         2017-08-30  4630  		tcp_fast_path_check(sk);
31770e34e Florian Westphal         2017-08-30  4631  
923dd347b Eric Dumazet             2012-05-02  4632  		if (eaten > 0)
923dd347b Eric Dumazet             2012-05-02  4633  			kfree_skb_partial(skb, fragstolen);
1d57f1953 Eric Dumazet             2012-09-17  4634  		if (!sock_flag(sk, SOCK_DEAD))
676d23690 David S. Miller          2014-04-11  4635  			sk->sk_data_ready(sk);
^1da177e4 Linus Torvalds           2005-04-16  4636  		return;
^1da177e4 Linus Torvalds           2005-04-16  4637  	}
^1da177e4 Linus Torvalds           2005-04-16  4638  
^1da177e4 Linus Torvalds           2005-04-16  4639  	if (!after(TCP_SKB_CB(skb)->end_seq, tp->rcv_nxt)) {
^1da177e4 Linus Torvalds           2005-04-16  4640  		/* A retransmit, 2nd most common case.  Force an immediate ack. */
c10d9310e Eric Dumazet             2016-04-29  4641  		NET_INC_STATS(sock_net(sk), LINUX_MIB_DELAYEDACKLOST);
1ed834655 Pavel Emelyanov          2008-07-16  4642  		tcp_dsack_set(sk, TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq);
^1da177e4 Linus Torvalds           2005-04-16  4643  
^1da177e4 Linus Torvalds           2005-04-16  4644  out_of_window:
265e9de2c Eric Dumazet             2018-05-21  4645  		tcp_enter_quickack_mode(sk, TCP_MAX_QUICKACKS);
463c84b97 Arnaldo Carvalho de Melo 2005-08-09  4646  		inet_csk_schedule_ack(sk);
^1da177e4 Linus Torvalds           2005-04-16  4647  drop:
532182cd6 Eric Dumazet             2016-04-01  4648  		tcp_drop(sk, skb);
^1da177e4 Linus Torvalds           2005-04-16  4649  		return;
^1da177e4 Linus Torvalds           2005-04-16  4650  	}
^1da177e4 Linus Torvalds           2005-04-16  4651  
^1da177e4 Linus Torvalds           2005-04-16  4652  	/* Out of window. F.e. zero window probe. */
^1da177e4 Linus Torvalds           2005-04-16  4653  	if (!before(TCP_SKB_CB(skb)->seq, tp->rcv_nxt + tcp_receive_window(tp)))
^1da177e4 Linus Torvalds           2005-04-16  4654  		goto out_of_window;
^1da177e4 Linus Torvalds           2005-04-16  4655  
463c84b97 Arnaldo Carvalho de Melo 2005-08-09 @4656  	tcp_enter_quickack_mode(sk);
^1da177e4 Linus Torvalds           2005-04-16  4657  
^1da177e4 Linus Torvalds           2005-04-16  4658  	if (before(TCP_SKB_CB(skb)->seq, tp->rcv_nxt)) {
^1da177e4 Linus Torvalds           2005-04-16  4659  		/* Partial packet, seq < rcv_next < end_seq */
^1da177e4 Linus Torvalds           2005-04-16  4660  		SOCK_DEBUG(sk, "partial packet: rcv_next %X seq %X - %X\n",
^1da177e4 Linus Torvalds           2005-04-16  4661  			   tp->rcv_nxt, TCP_SKB_CB(skb)->seq,
^1da177e4 Linus Torvalds           2005-04-16  4662  			   TCP_SKB_CB(skb)->end_seq);
^1da177e4 Linus Torvalds           2005-04-16  4663  
1ed834655 Pavel Emelyanov          2008-07-16  4664  		tcp_dsack_set(sk, TCP_SKB_CB(skb)->seq, tp->rcv_nxt);
^1da177e4 Linus Torvalds           2005-04-16  4665  
^1da177e4 Linus Torvalds           2005-04-16  4666  		/* If window is closed, drop tail of packet. But after
^1da177e4 Linus Torvalds           2005-04-16  4667  		 * remembering D-SACK for its head made in previous line.
^1da177e4 Linus Torvalds           2005-04-16  4668  		 */
^1da177e4 Linus Torvalds           2005-04-16  4669  		if (!tcp_receive_window(tp))
^1da177e4 Linus Torvalds           2005-04-16  4670  			goto out_of_window;
^1da177e4 Linus Torvalds           2005-04-16  4671  		goto queue_and_out;
^1da177e4 Linus Torvalds           2005-04-16  4672  	}
^1da177e4 Linus Torvalds           2005-04-16  4673  
e86b29196 Eric Dumazet             2012-03-18  4674  	tcp_data_queue_ofo(sk, skb);
^1da177e4 Linus Torvalds           2005-04-16  4675  }
^1da177e4 Linus Torvalds           2005-04-16  4676  

:::::: The code at line 4656 was first introduced by commit
:::::: 463c84b97f24010a67cd871746d6a7e4c925a5f9 [NET]: Introduce inet_connection_sock

:::::: TO: Arnaldo Carvalho de Melo <acme@...stprotocols.net>
:::::: CC: David S. Miller <davem@...set.davemloft.net>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (33476 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ