CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Kuniyuki Iwashima <[email protected]>
TO: "David S. Miller" <[email protected]>
CC: [email protected]
TO: Jakub Kicinski <[email protected]>
TO: Alexei Starovoitov <[email protected]>
TO: Daniel Borkmann <[email protected]>
TO: Andrii Nakryiko <[email protected]>
CC: Martin KaFai Lau <[email protected]>
CC: Benjamin Herrenschmidt <[email protected]>
CC: Kuniyuki Iwashima <[email protected]>
CC: [email protected]

Hi Kuniyuki,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on bpf-next/master]

url:    
https://github.com/0day-ci/linux/commits/Kuniyuki-Iwashima/bpf-Batching-iter-for-AF_UNIX-sockets/20220113-083151
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
:::::: branch date: 17 hours ago
:::::: commit date: 17 hours ago
config: arm-randconfig-m031-20220113 
(https://download.01.org/0day-ci/archive/20220114/[email protected]/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.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)
net/unix/af_unix.c:2652 manage_oob() warn: returning freed memory 'skb'

vim +3464 net/unix/af_unix.c

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