tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: b0c3ba31be3e45a130e13b278cf3b90f69bda6f6 commit: c780e86dd48ef6467a1146cf7d0fe1e05a635039 blktrace: Protect q->blk_trace with RCU date: 3 months ago config: x86_64-randconfig-s021-20200528 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.1-240-gf0fe1cd9-dirty git checkout c780e86dd48ef6467a1146cf7d0fe1e05a635039 # save the attached .config to linux build tree make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <l...@intel.com> sparse warnings: (new ones prefixed by >>) >> kernel/trace/blktrace.c:347:12: sparse: sparse: incorrect type in assignment >> (different address spaces) @@ expected struct blk_trace *bt @@ got >> struct blk_trace [noderef] <asn:4> *[assigned] __ret @@ kernel/trace/blktrace.c:347:12: sparse: expected struct blk_trace *bt kernel/trace/blktrace.c:347:12: sparse: got struct blk_trace [noderef] <asn:4> *[assigned] __ret >> kernel/trace/blktrace.c:547:13: sparse: sparse: incorrect type in >> initializer (different address spaces) @@ expected struct blk_trace >> [noderef] <asn:4> *__new @@ got struct blk_trace *[assigned] bt @@ kernel/trace/blktrace.c:547:13: sparse: expected struct blk_trace [noderef] <asn:4> *__new kernel/trace/blktrace.c:547:13: sparse: got struct blk_trace *[assigned] bt kernel/trace/blktrace.c:998:50: sparse: sparse: incorrect type in argument 7 (different base types) @@ expected int error @@ got restricted blk_status_t [usertype] bi_status @@ kernel/trace/blktrace.c:998:50: sparse: expected int error kernel/trace/blktrace.c:998:50: sparse: got restricted blk_status_t [usertype] bi_status kernel/trace/blktrace.c:1036:68: sparse: sparse: incorrect type in argument 7 (different base types) @@ expected int error @@ got restricted blk_status_t [usertype] bi_status @@ kernel/trace/blktrace.c:1036:68: sparse: expected int error kernel/trace/blktrace.c:1036:68: sparse: got restricted blk_status_t [usertype] bi_status kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1257:16: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1264:32: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long long [usertype] sector_from @@ got restricted __be64 const [usertype] sector_from @@ kernel/trace/blktrace.c:1264:32: sparse: expected unsigned long long [usertype] sector_from kernel/trace/blktrace.c:1264:32: sparse: got restricted __be64 const [usertype] sector_from kernel/trace/blktrace.c:1266:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] device_from @@ got unsigned int @@ kernel/trace/blktrace.c:1266:24: sparse: expected restricted __be32 [usertype] device_from kernel/trace/blktrace.c:1266:24: sparse: got unsigned int kernel/trace/blktrace.c:1267:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] device_to @@ got unsigned int @@ kernel/trace/blktrace.c:1267:24: sparse: expected restricted __be32 [usertype] device_to kernel/trace/blktrace.c:1267:24: sparse: got unsigned int kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:26: sparse: sparse: cast to restricted __be64 kernel/trace/blktrace.c:1268:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be64 [usertype] sector_from @@ got unsigned long long @@ kernel/trace/blktrace.c:1268:24: sparse: expected restricted __be64 [usertype] sector_from kernel/trace/blktrace.c:1268:24: sparse: got unsigned long long kernel/trace/blktrace.c:1415:26: sparse: sparse: restricted __be32 degrades to integer kernel/trace/blktrace.c:1415:48: sparse: sparse: restricted __be32 degrades to integer kernel/trace/blktrace.c:1416:27: sparse: sparse: cast from restricted __be64 kernel/trace/blktrace.c:1640:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct blk_trace *bt @@ got struct blk_trace [noderef] <asn:4> *[assigned] __ret @@ kernel/trace/blktrace.c:1640:12: sparse: expected struct blk_trace *bt kernel/trace/blktrace.c:1640:12: sparse: got struct blk_trace [noderef] <asn:4> *[assigned] __ret kernel/trace/blktrace.c:1673:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct blk_trace [noderef] <asn:4> *__new @@ got struct blk_trace *[assigned] bt @@ kernel/trace/blktrace.c:1673:13: sparse: expected struct blk_trace [noderef] <asn:4> *__new kernel/trace/blktrace.c:1673:13: sparse: got struct blk_trace *[assigned] bt vim +347 kernel/trace/blktrace.c 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 342 1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 343 static int __blk_trace_remove(struct request_queue *q) 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 344 { 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 345 struct blk_trace *bt; 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 346 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 @347 bt = xchg(&q->blk_trace, NULL); 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 348 if (!bt) 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 349 return -EINVAL; 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 350 5554720482a631 kernel/trace/blktrace.c Li Zefan 2009-03-25 351 if (bt->trace_state != Blktrace_running) 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 352 blk_trace_cleanup(bt); 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 353 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 354 return 0; 2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 355 } 1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 356 :::::: The code at line 347 was first introduced by commit :::::: 2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4 [PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23 :::::: TO: Jens Axboe <ax...@suse.de> :::::: CC: Jens Axboe <ax...@suse.de> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip