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]
