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:   9a73fa375d58fee5262dd16473c8e7522bdf44de
commit: 5bcf5a59c41e19141783c7305d420a5e36c937b2 RDMA/rxe: Protext kernel index 
from user space
date:   10 weeks ago
:::::: branch date: 8 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]>

New smatch warnings:
drivers/infiniband/sw/rxe/rxe_queue.h:228 producer_addr() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:293 consumer_index() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:271 producer_index() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:249 consumer_addr() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:228 producer_addr() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:249 consumer_addr() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:249 consumer_addr() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:228 producer_addr() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:249 consumer_addr() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:271 producer_index() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:249 consumer_addr() error: uninitialized 
symbol 'cons'.

Old smatch warnings:
drivers/infiniband/sw/rxe/rxe_queue.h:157 queue_count() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:157 queue_count() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:131 queue_full() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:131 queue_full() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:131 queue_full() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:131 queue_full() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:157 queue_count() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:157 queue_count() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:157 queue_count() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:157 queue_count() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:106 queue_empty() error: uninitialized 
symbol 'cons'.
drivers/infiniband/sw/rxe/rxe_queue.h:157 queue_count() error: uninitialized 
symbol 'prod'.
drivers/infiniband/sw/rxe/rxe_queue.h:157 queue_count() error: uninitialized 
symbol 'cons'.

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

8700e3e7c4857d Moni Shoua  2016-06-16  209  
5bcf5a59c41e19 Bob Pearson 2021-05-27  210  static inline void 
*producer_addr(struct rxe_queue *q, enum queue_type type)
8700e3e7c4857d Moni Shoua  2016-06-16  211  {
0a67c46d2e9926 Bob Pearson 2021-05-27  212      u32 prod;
0a67c46d2e9926 Bob Pearson 2021-05-27  213  
5bcf5a59c41e19 Bob Pearson 2021-05-27  214      switch (type) {
5bcf5a59c41e19 Bob Pearson 2021-05-27  215      case QUEUE_TYPE_FROM_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27  216              /* protect user space 
index */
0a67c46d2e9926 Bob Pearson 2021-05-27  217              prod = 
smp_load_acquire(&q->buf->producer_index);
5bcf5a59c41e19 Bob Pearson 2021-05-27  218              prod &= q->index_mask;
5bcf5a59c41e19 Bob Pearson 2021-05-27  219              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  220      case QUEUE_TYPE_TO_USER:
5bcf5a59c41e19 Bob Pearson 2021-05-27  221              prod = q->index;
5bcf5a59c41e19 Bob Pearson 2021-05-27  222              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  223      case QUEUE_TYPE_KERNEL:
0a67c46d2e9926 Bob Pearson 2021-05-27  224              prod = 
q->buf->producer_index;
5bcf5a59c41e19 Bob Pearson 2021-05-27  225              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  226      }
0a67c46d2e9926 Bob Pearson 2021-05-27  227  
5bcf5a59c41e19 Bob Pearson 2021-05-27 @228      return q->buf->data + (prod << 
q->log2_elem_size);
8700e3e7c4857d Moni Shoua  2016-06-16  229  }
8700e3e7c4857d Moni Shoua  2016-06-16  230  
5bcf5a59c41e19 Bob Pearson 2021-05-27  231  static inline void 
*consumer_addr(struct rxe_queue *q, enum queue_type type)
8700e3e7c4857d Moni Shoua  2016-06-16  232  {
0a67c46d2e9926 Bob Pearson 2021-05-27  233      u32 cons;
0a67c46d2e9926 Bob Pearson 2021-05-27  234  
5bcf5a59c41e19 Bob Pearson 2021-05-27  235      switch (type) {
5bcf5a59c41e19 Bob Pearson 2021-05-27  236      case QUEUE_TYPE_FROM_USER:
5bcf5a59c41e19 Bob Pearson 2021-05-27  237              cons = q->index;
5bcf5a59c41e19 Bob Pearson 2021-05-27  238              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  239      case QUEUE_TYPE_TO_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27  240              /* protect user space 
index */
0a67c46d2e9926 Bob Pearson 2021-05-27  241              cons = 
smp_load_acquire(&q->buf->consumer_index);
5bcf5a59c41e19 Bob Pearson 2021-05-27  242              cons &= q->index_mask;
5bcf5a59c41e19 Bob Pearson 2021-05-27  243              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  244      case QUEUE_TYPE_KERNEL:
0a67c46d2e9926 Bob Pearson 2021-05-27  245              cons = 
q->buf->consumer_index;
5bcf5a59c41e19 Bob Pearson 2021-05-27  246              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  247      }
0a67c46d2e9926 Bob Pearson 2021-05-27  248  
5bcf5a59c41e19 Bob Pearson 2021-05-27 @249      return q->buf->data + (cons << 
q->log2_elem_size);
8700e3e7c4857d Moni Shoua  2016-06-16  250  }
8700e3e7c4857d Moni Shoua  2016-06-16  251  
5bcf5a59c41e19 Bob Pearson 2021-05-27  252  static inline unsigned int 
producer_index(struct rxe_queue *q,
5bcf5a59c41e19 Bob Pearson 2021-05-27  253                                      
        enum queue_type type)
8700e3e7c4857d Moni Shoua  2016-06-16  254  {
0a67c46d2e9926 Bob Pearson 2021-05-27  255      u32 prod;
d21a1240f5169a Bob Pearson 2020-12-10  256  
5bcf5a59c41e19 Bob Pearson 2021-05-27  257      switch (type) {
5bcf5a59c41e19 Bob Pearson 2021-05-27  258      case QUEUE_TYPE_FROM_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27  259              /* protect user space 
index */
0a67c46d2e9926 Bob Pearson 2021-05-27  260              prod = 
smp_load_acquire(&q->buf->producer_index);
0a67c46d2e9926 Bob Pearson 2021-05-27  261              prod &= q->index_mask;
5bcf5a59c41e19 Bob Pearson 2021-05-27  262              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  263      case QUEUE_TYPE_TO_USER:
5bcf5a59c41e19 Bob Pearson 2021-05-27  264              prod = q->index;
5bcf5a59c41e19 Bob Pearson 2021-05-27  265              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  266      case QUEUE_TYPE_KERNEL:
5bcf5a59c41e19 Bob Pearson 2021-05-27  267              prod = 
q->buf->producer_index;
5bcf5a59c41e19 Bob Pearson 2021-05-27  268              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  269      }
d21a1240f5169a Bob Pearson 2020-12-10  270  
0a67c46d2e9926 Bob Pearson 2021-05-27 @271      return prod;
8700e3e7c4857d Moni Shoua  2016-06-16  272  }
8700e3e7c4857d Moni Shoua  2016-06-16  273  
5bcf5a59c41e19 Bob Pearson 2021-05-27  274  static inline unsigned int 
consumer_index(struct rxe_queue *q,
5bcf5a59c41e19 Bob Pearson 2021-05-27  275                                      
        enum queue_type type)
8700e3e7c4857d Moni Shoua  2016-06-16  276  {
0a67c46d2e9926 Bob Pearson 2021-05-27  277      u32 cons;
d21a1240f5169a Bob Pearson 2020-12-10  278  
5bcf5a59c41e19 Bob Pearson 2021-05-27  279      switch (type) {
5bcf5a59c41e19 Bob Pearson 2021-05-27  280      case QUEUE_TYPE_FROM_USER:
5bcf5a59c41e19 Bob Pearson 2021-05-27  281              cons = q->index;
5bcf5a59c41e19 Bob Pearson 2021-05-27  282              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  283      case QUEUE_TYPE_TO_USER:
0a67c46d2e9926 Bob Pearson 2021-05-27  284              /* protect user space 
index */
0a67c46d2e9926 Bob Pearson 2021-05-27  285              cons = 
smp_load_acquire(&q->buf->consumer_index);
0a67c46d2e9926 Bob Pearson 2021-05-27  286              cons &= q->index_mask;
5bcf5a59c41e19 Bob Pearson 2021-05-27  287              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  288      case QUEUE_TYPE_KERNEL:
5bcf5a59c41e19 Bob Pearson 2021-05-27  289              cons = 
q->buf->consumer_index;
5bcf5a59c41e19 Bob Pearson 2021-05-27  290              break;
5bcf5a59c41e19 Bob Pearson 2021-05-27  291      }
0a67c46d2e9926 Bob Pearson 2021-05-27  292  
0a67c46d2e9926 Bob Pearson 2021-05-27 @293      return cons;
8700e3e7c4857d Moni Shoua  2016-06-16  294  }
8700e3e7c4857d Moni Shoua  2016-06-16  295  

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