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