CC: [email protected] TO: "Andrii, Nakryiko," <[email protected]> CC: Daniel Borkmann <[email protected]>
tree: https://github.com/0day-ci/linux/commits/John-Fastabend/fix-ktls-with-sk_skb_verdict-programs/20200601-011016 head: 782773c4c3638155ca2955789a3f70e090afc347 commit: 35dd30a79d27f96ab5ca28e65a869ed9e611af69 [1888/1896] bpf: Implement BPF ring buffer and verifier support for it :::::: branch date: 3 days ago :::::: commit date: 5 days ago config: i386-randconfig-m021-20200603 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 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]> smatch warnings: kernel/bpf/ringbuf.c:358 __bpf_ringbuf_reserve() error: uninitialized symbol 'flags'. # https://github.com/0day-ci/linux/commit/35dd30a79d27f96ab5ca28e65a869ed9e611af69 git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout 35dd30a79d27f96ab5ca28e65a869ed9e611af69 vim +/flags +358 kernel/bpf/ringbuf.c 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 331 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 332 static void *__bpf_ringbuf_reserve(struct bpf_ringbuf *rb, u64 size) 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 333 { 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 334 unsigned long cons_pos, prod_pos, new_prod_pos, flags; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 335 u32 len, pg_off; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 336 struct bpf_ringbuf_hdr *hdr; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 337 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 338 if (unlikely(size > RINGBUF_MAX_RECORD_SZ)) 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 339 return NULL; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 340 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 341 len = round_up(size + BPF_RINGBUF_HDR_SZ, 8); 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 342 cons_pos = smp_load_acquire(&rb->consumer_pos); 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 343 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 344 if (in_nmi()) { 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 345 if (!spin_trylock_irqsave(&rb->spinlock, flags)) 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 346 return NULL; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 347 } else { 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 348 spin_lock_irqsave(&rb->spinlock, flags); 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 349 } 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 350 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 351 prod_pos = rb->producer_pos; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 352 new_prod_pos = prod_pos + len; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 353 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 354 /* check for out of ringbuf space by ensuring producer position 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 355 * doesn't advance more than (ringbuf_size - 1) ahead 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 356 */ 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 357 if (new_prod_pos - cons_pos > rb->mask) { 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 @358 spin_unlock_irqrestore(&rb->spinlock, flags); 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 359 return NULL; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 360 } 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 361 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 362 hdr = (void *)rb->data + (prod_pos & rb->mask); 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 363 pg_off = bpf_ringbuf_rec_pg_off(rb, hdr); 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 364 hdr->len = size | BPF_RINGBUF_BUSY_BIT; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 365 hdr->pg_off = pg_off; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 366 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 367 /* pairs with consumer's smp_load_acquire() */ 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 368 smp_store_release(&rb->producer_pos, new_prod_pos); 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 369 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 370 spin_unlock_irqrestore(&rb->spinlock, flags); 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 371 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 372 return (void *)hdr + BPF_RINGBUF_HDR_SZ; 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 373 } 35dd30a79d27f9 Andrii Nakryiko 2020-05-29 374 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
