CC: [email protected]
CC: [email protected]
TO: Bob Pearson <[email protected]>
CC: Jason Gunthorpe <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   36a21d51725af2ce0700c6ebcb6b9594aac658a6
commit: 0a67c46d2e9926c8214ed87e57fe51f044203612 RDMA/rxe: Protect user space 
index loads/stores
date:   10 weeks ago
:::::: branch date: 29 hours ago
:::::: commit date: 10 weeks ago
config: x86_64-randconfig-m001-20210809 (attached as .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]>

smatch warnings:
drivers/infiniband/sw/rxe/rxe_queue.h:136 queue_count() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:136 queue_count() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:111 queue_full() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:111 queue_full() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:86 queue_empty() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:86 queue_empty() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:86 queue_empty() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:86 queue_empty() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:136 queue_count() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:136 queue_count() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:111 queue_full() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:111 queue_full() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:86 queue_empty() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:86 queue_empty() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:136 queue_count() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:136 queue_count() error: uninitialized 
symbol 'cons'.

vim +/prod +136 drivers/infiniband/sw/rxe/rxe_queue.h

8700e3e7c4857d Moni Shoua  2016-06-16   63  
8700e3e7c4857d Moni Shoua  2016-06-16   64  static inline int 
queue_empty(struct rxe_queue *q)
8700e3e7c4857d Moni Shoua  2016-06-16   65  {
d21a1240f5169a Bob Pearson 2020-12-10   66      u32 prod;
d21a1240f5169a Bob Pearson 2020-12-10   67      u32 cons;
d21a1240f5169a Bob Pearson 2020-12-10   68  
0a67c46d2e9926 Bob Pearson 2021-05-27   69      switch (q->type) {
0a67c46d2e9926 Bob Pearson 2021-05-27   70      case QUEUE_TYPE_FROM_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27   71              /* protect user space 
index */
d21a1240f5169a Bob Pearson 2020-12-10   72              prod = 
smp_load_acquire(&q->buf->producer_index);
0a67c46d2e9926 Bob Pearson 2021-05-27   73              cons = 
q->buf->consumer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27   74              break;
0a67c46d2e9926 Bob Pearson 2021-05-27   75      case QUEUE_TYPE_TO_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27   76              prod = 
q->buf->producer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27   77              /* protect user space 
index */
d21a1240f5169a Bob Pearson 2020-12-10   78              cons = 
smp_load_acquire(&q->buf->consumer_index);
0a67c46d2e9926 Bob Pearson 2021-05-27   79              break;
0a67c46d2e9926 Bob Pearson 2021-05-27   80      case QUEUE_TYPE_KERNEL:
0a67c46d2e9926 Bob Pearson 2021-05-27   81              prod = 
q->buf->producer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27   82              cons = 
q->buf->consumer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27   83              break;
0a67c46d2e9926 Bob Pearson 2021-05-27   84      }
d21a1240f5169a Bob Pearson 2020-12-10   85  
d21a1240f5169a Bob Pearson 2020-12-10  @86      return ((prod - cons) & 
q->index_mask) == 0;
8700e3e7c4857d Moni Shoua  2016-06-16   87  }
8700e3e7c4857d Moni Shoua  2016-06-16   88  
8700e3e7c4857d Moni Shoua  2016-06-16   89  static inline int queue_full(struct 
rxe_queue *q)
8700e3e7c4857d Moni Shoua  2016-06-16   90  {
d21a1240f5169a Bob Pearson 2020-12-10   91      u32 prod;
d21a1240f5169a Bob Pearson 2020-12-10   92      u32 cons;
d21a1240f5169a Bob Pearson 2020-12-10   93  
0a67c46d2e9926 Bob Pearson 2021-05-27   94      switch (q->type) {
0a67c46d2e9926 Bob Pearson 2021-05-27   95      case QUEUE_TYPE_FROM_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27   96              /* protect user space 
index */
d21a1240f5169a Bob Pearson 2020-12-10   97              prod = 
smp_load_acquire(&q->buf->producer_index);
0a67c46d2e9926 Bob Pearson 2021-05-27   98              cons = 
q->buf->consumer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27   99              break;
0a67c46d2e9926 Bob Pearson 2021-05-27  100      case QUEUE_TYPE_TO_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27  101              prod = 
q->buf->producer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27  102              /* protect user space 
index */
d21a1240f5169a Bob Pearson 2020-12-10  103              cons = 
smp_load_acquire(&q->buf->consumer_index);
0a67c46d2e9926 Bob Pearson 2021-05-27  104              break;
0a67c46d2e9926 Bob Pearson 2021-05-27  105      case QUEUE_TYPE_KERNEL:
0a67c46d2e9926 Bob Pearson 2021-05-27  106              prod = 
q->buf->producer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27  107              cons = 
q->buf->consumer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27  108              break;
0a67c46d2e9926 Bob Pearson 2021-05-27  109      }
d21a1240f5169a Bob Pearson 2020-12-10  110  
d21a1240f5169a Bob Pearson 2020-12-10 @111      return ((prod + 1 - cons) & 
q->index_mask) == 0;
8700e3e7c4857d Moni Shoua  2016-06-16  112  }
8700e3e7c4857d Moni Shoua  2016-06-16  113  
0a67c46d2e9926 Bob Pearson 2021-05-27  114  static inline unsigned int 
queue_count(const struct rxe_queue *q)
8700e3e7c4857d Moni Shoua  2016-06-16  115  {
d21a1240f5169a Bob Pearson 2020-12-10  116      u32 prod;
0a67c46d2e9926 Bob Pearson 2021-05-27  117      u32 cons;
0a67c46d2e9926 Bob Pearson 2021-05-27  118  
0a67c46d2e9926 Bob Pearson 2021-05-27  119      switch (q->type) {
0a67c46d2e9926 Bob Pearson 2021-05-27  120      case QUEUE_TYPE_FROM_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27  121              /* protect user space 
index */
0a67c46d2e9926 Bob Pearson 2021-05-27  122              prod = 
smp_load_acquire(&q->buf->producer_index);
0a67c46d2e9926 Bob Pearson 2021-05-27  123              cons = 
q->buf->consumer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27  124              break;
0a67c46d2e9926 Bob Pearson 2021-05-27  125      case QUEUE_TYPE_TO_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27  126              prod = 
q->buf->producer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27  127              /* protect user space 
index */
0a67c46d2e9926 Bob Pearson 2021-05-27  128              cons = 
smp_load_acquire(&q->buf->consumer_index);
0a67c46d2e9926 Bob Pearson 2021-05-27  129              break;
0a67c46d2e9926 Bob Pearson 2021-05-27  130      case QUEUE_TYPE_KERNEL:
0a67c46d2e9926 Bob Pearson 2021-05-27  131              prod = 
q->buf->producer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27  132              cons = 
q->buf->consumer_index;
0a67c46d2e9926 Bob Pearson 2021-05-27  133              break;
0a67c46d2e9926 Bob Pearson 2021-05-27  134      }
d21a1240f5169a Bob Pearson 2020-12-10  135  
0a67c46d2e9926 Bob Pearson 2021-05-27 @136      return (prod - cons) & 
q->index_mask;
0a67c46d2e9926 Bob Pearson 2021-05-27  137  }
d21a1240f5169a Bob Pearson 2020-12-10  138  

---
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