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]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
