CC: [email protected] TO: Jens Axboe <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git io_uring-worker.v2 head: 4447321e632ea67352411059af40d2b660461804 commit: 63c135924c321b50da3d97fd9ba08abbb5adabe5 [16/21] io_uring: move SQPOLL thread io-wq forked worker :::::: branch date: 6 hours ago :::::: commit date: 15 hours ago config: x86_64-randconfig-s022-20210218 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-215-g0fb77bb6-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?id=63c135924c321b50da3d97fd9ba08abbb5adabe5 git remote add block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git git fetch --no-tags block io_uring-worker.v2 git checkout 63c135924c321b50da3d97fd9ba08abbb5adabe5 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> "sparse warnings: (new ones prefixed by >>)" fs/io_uring.c:2867:24: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __user * @@ got struct io_buffer *[assigned] kbuf @@ fs/io_uring.c:2867:24: sparse: expected void [noderef] __user * fs/io_uring.c:2867:24: sparse: got struct io_buffer *[assigned] kbuf fs/io_uring.c:4219:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct file *[assigned] file @@ got struct file [noderef] __rcu * @@ fs/io_uring.c:4219:14: sparse: expected struct file *[assigned] file fs/io_uring.c:4219:14: sparse: got struct file [noderef] __rcu * fs/io_uring.c:4846:72: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected int mask @@ got restricted __poll_t [usertype] mask @@ fs/io_uring.c:4846:72: sparse: expected int mask fs/io_uring.c:4846:72: sparse: got restricted __poll_t [usertype] mask fs/io_uring.c:4850:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] result @@ got restricted __poll_t [usertype] mask @@ fs/io_uring.c:4850:21: sparse: expected unsigned int [usertype] result fs/io_uring.c:4850:21: sparse: got restricted __poll_t [usertype] mask fs/io_uring.c:4876:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] result @@ got restricted __poll_t @@ fs/io_uring.c:4876:29: sparse: expected unsigned int [usertype] result fs/io_uring.c:4876:29: sparse: got restricted __poll_t fs/io_uring.c:4941:42: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __poll_t [usertype] mask @@ got unsigned int [usertype] result @@ fs/io_uring.c:4941:42: sparse: expected restricted __poll_t [usertype] mask fs/io_uring.c:4941:42: sparse: got unsigned int [usertype] result fs/io_uring.c:5082:41: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected int mask @@ got restricted __poll_t [usertype] @@ fs/io_uring.c:5082:41: sparse: expected int mask fs/io_uring.c:5082:41: sparse: got restricted __poll_t [usertype] fs/io_uring.c:5170:22: sparse: sparse: invalid assignment: |= fs/io_uring.c:5170:22: sparse: left side has type restricted __poll_t fs/io_uring.c:5170:22: sparse: right side has type int fs/io_uring.c:5172:22: sparse: sparse: invalid assignment: |= fs/io_uring.c:5172:22: sparse: left side has type restricted __poll_t fs/io_uring.c:5172:22: sparse: right side has type int fs/io_uring.c:5177:22: sparse: sparse: invalid assignment: &= fs/io_uring.c:5177:22: sparse: left side has type restricted __poll_t fs/io_uring.c:5177:22: sparse: right side has type int fs/io_uring.c:5179:14: sparse: sparse: invalid assignment: |= fs/io_uring.c:5179:14: sparse: left side has type restricted __poll_t fs/io_uring.c:5179:14: sparse: right side has type int fs/io_uring.c:5193:67: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected int mask @@ got restricted __poll_t [assigned] [usertype] mask @@ fs/io_uring.c:5193:67: sparse: expected int mask fs/io_uring.c:5193:67: sparse: got restricted __poll_t [assigned] [usertype] mask fs/io_uring.c:5194:52: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected int events @@ got restricted __poll_t [usertype] events @@ fs/io_uring.c:5194:52: sparse: expected int events fs/io_uring.c:5194:52: sparse: got restricted __poll_t [usertype] events fs/io_uring.c:5353:34: sparse: sparse: restricted __poll_t degrades to integer fs/io_uring.c:5352:57: sparse: sparse: restricted __poll_t degrades to integer fs/io_uring.c:5352:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __poll_t [usertype] events @@ got unsigned int @@ fs/io_uring.c:5352:22: sparse: expected restricted __poll_t [usertype] events fs/io_uring.c:5352:22: sparse: got unsigned int fs/io_uring.c:7085:13: sparse: sparse: context imbalance in 'io_sq_thread_unpark' - wrong count at exit fs/io_uring.c:7097:13: sparse: sparse: context imbalance in 'io_sq_thread_park' - wrong count at exit >> fs/io_uring.c:7155:17: sparse: sparse: context imbalance in >> 'io_sq_thread_finish' - different lock contexts for basic block fs/io_uring.c:8646:25: sparse: sparse: context imbalance in 'io_uring_cancel_files' - unexpected unlock fs/io_uring.c:8691:9: sparse: sparse: context imbalance in 'io_uring_cancel_task_requests' - different lock contexts for basic block vim +/io_sq_thread_finish +7155 fs/io_uring.c 63c135924c321b Jens Axboe 2021-02-17 7128 63c135924c321b Jens Axboe 2021-02-17 7129 static void io_sq_thread_finish(struct io_ring_ctx *ctx) 63c135924c321b Jens Axboe 2021-02-17 7130 { 63c135924c321b Jens Axboe 2021-02-17 7131 struct io_sq_data *sqd = ctx->sq_data; 63c135924c321b Jens Axboe 2021-02-17 7132 63c135924c321b Jens Axboe 2021-02-17 7133 if (sqd) { 63c135924c321b Jens Axboe 2021-02-17 7134 if (sqd->thread) { 2bbcd6d3b36a75 Roman Penyaev 2019-05-16 7135 /* 63c135924c321b Jens Axboe 2021-02-17 7136 * We may arrive here from the error branch in 63c135924c321b Jens Axboe 2021-02-17 7137 * io_sq_offload_create() where the kthread is created 63c135924c321b Jens Axboe 2021-02-17 7138 * without being waked up, thus wake it up now to make 63c135924c321b Jens Axboe 2021-02-17 7139 * sure the wait will complete. 2bbcd6d3b36a75 Roman Penyaev 2019-05-16 7140 */ 63c135924c321b Jens Axboe 2021-02-17 7141 wake_up_process(sqd->thread); 63c135924c321b Jens Axboe 2021-02-17 7142 wait_for_completion(&ctx->sq_thread_comp); 63c135924c321b Jens Axboe 2021-02-17 7143 63c135924c321b Jens Axboe 2021-02-17 7144 io_sq_thread_park(sqd); 534ca6d684f1fe Jens Axboe 2020-09-02 7145 } 534ca6d684f1fe Jens Axboe 2020-09-02 7146 63c135924c321b Jens Axboe 2021-02-17 7147 mutex_lock(&sqd->ctx_lock); 63c135924c321b Jens Axboe 2021-02-17 7148 list_del(&ctx->sqd_list); 63c135924c321b Jens Axboe 2021-02-17 7149 io_sqd_update_thread_idle(sqd); 63c135924c321b Jens Axboe 2021-02-17 7150 mutex_unlock(&sqd->ctx_lock); 63c135924c321b Jens Axboe 2021-02-17 7151 63c135924c321b Jens Axboe 2021-02-17 7152 if (sqd->thread) 63c135924c321b Jens Axboe 2021-02-17 7153 io_sq_thread_unpark(sqd); 63c135924c321b Jens Axboe 2021-02-17 7154 63c135924c321b Jens Axboe 2021-02-17 @7155 io_put_sq_data(sqd); 63c135924c321b Jens Axboe 2021-02-17 7156 ctx->sq_data = NULL; 534ca6d684f1fe Jens Axboe 2020-09-02 7157 } 534ca6d684f1fe Jens Axboe 2020-09-02 7158 } 534ca6d684f1fe Jens Axboe 2020-09-02 7159 --- 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]
