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]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to