BCC: [email protected]
CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Dmitry Safonov <[email protected]>
TO: Eric Dumazet <[email protected]>
TO: "David S. Miller" <[email protected]>
CC: [email protected]
TO: [email protected]
CC: Dmitry Safonov <[email protected]>
CC: Andy Lutomirski <[email protected]>
CC: Ard Biesheuvel <[email protected]>
CC: Bob Gilligan <[email protected]>
CC: David Ahern <[email protected]>
CC: Eric Biggers <[email protected]>
CC: Francesco Ruggeri <[email protected]>
CC: Herbert Xu <[email protected]>
CC: Hideaki YOSHIFUJI <[email protected]>
CC: Ivan Delalande <[email protected]>
CC: Jakub Kicinski <[email protected]>
CC: Leonard Crestez <[email protected]>
CC: Paolo Abeni <[email protected]>
CC: Salam Noureddine <[email protected]>
CC: Shuah Khan <[email protected]>
CC: [email protected]

Hi Dmitry,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on e34cfee65ec891a319ce79797dda18083af33a76]

url:    
https://github.com/intel-lab-lkp/linux/commits/Dmitry-Safonov/net-tcp-Add-TCP-AO-support/20220819-010628
base:   e34cfee65ec891a319ce79797dda18083af33a76
:::::: branch date: 9 days ago
:::::: commit date: 9 days ago
config: x86_64-randconfig-c002 
(https://download.01.org/0day-ci/archive/20220827/[email protected]/config)
compiler: gcc-11 (Debian 11.3.0-5) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Julia Lawall <[email protected]>

cocci warnings: (new ones prefixed by >>)
>> net/ipv4/tcp_ao.c:214:13-32: atomic_dec_and_test variation before object 
>> free at line 218.
   net/ipv4/tcp_ao.c:214:13-32: atomic_dec_and_test variation before object 
free at line 224.

vim +214 net/ipv4/tcp_ao.c

469bd71e5ea011f Dmitry Safonov 2022-08-18  199  
5e1471f5e8131f9 Dmitry Safonov 2022-08-18  200  void tcp_ao_destroy_sock(struct 
sock *sk, bool twsk)
469bd71e5ea011f Dmitry Safonov 2022-08-18  201  {
469bd71e5ea011f Dmitry Safonov 2022-08-18  202          struct tcp_ao_info *ao;
469bd71e5ea011f Dmitry Safonov 2022-08-18  203          struct tcp_ao_key *key;
469bd71e5ea011f Dmitry Safonov 2022-08-18  204          struct hlist_node *n;
469bd71e5ea011f Dmitry Safonov 2022-08-18  205  
5e1471f5e8131f9 Dmitry Safonov 2022-08-18  206          if (twsk) {
5e1471f5e8131f9 Dmitry Safonov 2022-08-18  207                  ao = 
rcu_dereference_protected(tcp_twsk(sk)->ao_info, 1);
5e1471f5e8131f9 Dmitry Safonov 2022-08-18  208                  
tcp_twsk(sk)->ao_info = NULL;
5e1471f5e8131f9 Dmitry Safonov 2022-08-18  209          } else {
469bd71e5ea011f Dmitry Safonov 2022-08-18  210                  ao = 
rcu_dereference_protected(tcp_sk(sk)->ao_info, 1);
469bd71e5ea011f Dmitry Safonov 2022-08-18  211                  
tcp_sk(sk)->ao_info = NULL;
5e1471f5e8131f9 Dmitry Safonov 2022-08-18  212          }
469bd71e5ea011f Dmitry Safonov 2022-08-18  213  
5e1471f5e8131f9 Dmitry Safonov 2022-08-18 @214          if (!ao || 
!atomic_dec_and_test(&ao->refcnt))
469bd71e5ea011f Dmitry Safonov 2022-08-18  215                  return;
469bd71e5ea011f Dmitry Safonov 2022-08-18  216  
469bd71e5ea011f Dmitry Safonov 2022-08-18  217          
hlist_for_each_entry_safe(key, n, &ao->head, node) {
469bd71e5ea011f Dmitry Safonov 2022-08-18 @218                  
hlist_del_rcu(&key->node);
5e1471f5e8131f9 Dmitry Safonov 2022-08-18  219                  if (!twsk)
469bd71e5ea011f Dmitry Safonov 2022-08-18  220                          
atomic_sub(tcp_ao_sizeof_key(key), &sk->sk_omem_alloc);
469bd71e5ea011f Dmitry Safonov 2022-08-18  221                  
call_rcu(&key->rcu, tcp_ao_key_free_rcu);
469bd71e5ea011f Dmitry Safonov 2022-08-18  222          }
469bd71e5ea011f Dmitry Safonov 2022-08-18  223  
469bd71e5ea011f Dmitry Safonov 2022-08-18  224          kfree_rcu(ao, rcu);
469bd71e5ea011f Dmitry Safonov 2022-08-18  225  }
469bd71e5ea011f Dmitry Safonov 2022-08-18  226  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to