CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Kuniyuki Iwashima <[email protected]>
CC: Alexei Starovoitov <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   b605fdc54c2b28c30ef06d9db99282d8a32ae4be
commit: 855d8e77ffb05be6e54c34dababccb20318aec00 [678/2855] bpf: af_unix: Use 
batching algorithm in bpf unix iter.
:::::: branch date: 26 hours ago
:::::: commit date: 10 days ago
config: x86_64-randconfig-m001-20220124 
(https://download.01.org/0day-ci/archive/20220129/[email protected]/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
net/unix/af_unix.c:3464 bpf_iter_unix_batch() warn: sleeping in atomic context

Old smatch warnings:
net/unix/af_unix.c:1586 unix_stream_connect() warn: variable dereferenced 
before check 'other' (see line 1469)

vim +3464 net/unix/af_unix.c

855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3436  
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3437  static struct sock 
*bpf_iter_unix_batch(struct seq_file *seq,
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3438                               
        loff_t *pos)
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3439  {
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3440       struct 
bpf_unix_iter_state *iter = seq->private;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3441       unsigned int expected;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3442       bool resized = false;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3443       struct sock *sk;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3444  
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3445       if 
(iter->st_bucket_done)
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3446               *pos = 
set_bucket_offset(get_bucket(*pos) + 1, 1);
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3447  
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3448  again:
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3449       /* Get a new batch */
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3450       iter->cur_sk = 0;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3451       iter->end_sk = 0;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3452  
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3453       sk = 
unix_get_first(seq, pos);
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3454       if (!sk)
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3455               return NULL; /* 
Done */
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3456  
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3457       expected = 
bpf_iter_unix_hold_batch(seq, sk);
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3458  
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3459       if (iter->end_sk == 
expected) {
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3460               
iter->st_bucket_done = true;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3461               return sk;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3462       }
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3463  
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13 @3464       if (!resized && 
!bpf_iter_unix_realloc_batch(iter, expected * 3 / 2)) {
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3465               resized = true;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3466               goto again;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3467       }
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3468  
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3469       return sk;
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3470  }
855d8e77ffb05b Kuniyuki Iwashima 2022-01-13  3471  

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

Reply via email to