Hi Marcos, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc3 next-20190809] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Marcos-Paulo-de-Souza/block-Remove-request_queue-argument-from-blk_execute_rq_nowait/20190811-113304 config: sparc64-allmodconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=sparc64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): block/scsi_ioctl.c: In function 'sg_io': >> block/scsi_ioctl.c:309:2: error: expected ';' before 'ret' ret = -ENOMEM; ^~~ vim +309 block/scsi_ioctl.c 3d6392cfbd7dc1 block/scsi_ioctl.c Jens Axboe 2007-07-09 277 5842e51ff2e8d6 block/scsi_ioctl.c Al Viro 2008-09-02 278 static int sg_io(struct request_queue *q, struct gendisk *bd_disk, 5842e51ff2e8d6 block/scsi_ioctl.c Al Viro 2008-09-02 279 struct sg_io_hdr *hdr, fmode_t mode) ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 280 { 3d6392cfbd7dc1 block/scsi_ioctl.c Jens Axboe 2007-07-09 281 unsigned long start_time; e0ce0eacb3197a block/scsi_ioctl.c Kent Overstreet 2013-08-07 282 ssize_t ret = 0; e0ce0eacb3197a block/scsi_ioctl.c Kent Overstreet 2013-08-07 283 int writing = 0; e9e1e68597dd4a block/scsi_ioctl.c Marcos Paulo de Souza 2019-08-09 284 bool at_head = false; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 285 struct request *rq; 82ed4db499b859 block/scsi_ioctl.c Christoph Hellwig 2017-01-27 286 struct scsi_request *req; 77d172ce2719b5 block/scsi_ioctl.c FUJITA Tomonori 2006-12-11 287 struct bio *bio; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 288 ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 289 if (hdr->interface_id != 'S') ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 290 return -EINVAL; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 291 ae03bf639a5027 block/scsi_ioctl.c Martin K. Petersen 2009-05-22 292 if (hdr->dxfer_len > (queue_max_hw_sectors(q) << 9)) ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 293 return -EIO; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 294 f1970baf6d74e0 drivers/block/scsi_ioctl.c James Bottomley 2005-06-20 295 if (hdr->dxfer_len) ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 296 switch (hdr->dxfer_direction) { ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 297 default: ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 298 return -EINVAL; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 299 case SG_DXFER_TO_DEV: ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 300 writing = 1; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 301 break; 616e8a091a035c block/scsi_ioctl.c Jens Axboe 2006-11-13 302 case SG_DXFER_TO_FROM_DEV: ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 303 case SG_DXFER_FROM_DEV: ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 304 break; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 305 } d15156138dad40 block/scsi_ioctl.c Douglas Gilbert 2014-07-01 306 if (hdr->flags & SG_FLAG_Q_AT_HEAD) e9e1e68597dd4a block/scsi_ioctl.c Marcos Paulo de Souza 2019-08-09 307 at_head = true ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 308 a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 @309 ret = -ENOMEM; ff005a066240ef block/scsi_ioctl.c Christoph Hellwig 2018-05-09 310 rq = blk_get_request(q, writing ? REQ_OP_SCSI_OUT : REQ_OP_SCSI_IN, 0); a492f075450f3b block/scsi_ioctl.c Joe Lawrence 2014-08-28 311 if (IS_ERR(rq)) a492f075450f3b block/scsi_ioctl.c Joe Lawrence 2014-08-28 312 return PTR_ERR(rq); 82ed4db499b859 block/scsi_ioctl.c Christoph Hellwig 2017-01-27 313 req = scsi_req(rq); ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 314 a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 315 if (hdr->cmd_len > BLK_MAX_CDB) { 82ed4db499b859 block/scsi_ioctl.c Christoph Hellwig 2017-01-27 316 req->cmd = kzalloc(hdr->cmd_len, GFP_KERNEL); 82ed4db499b859 block/scsi_ioctl.c Christoph Hellwig 2017-01-27 317 if (!req->cmd) a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 318 goto out_put_request; 3d6392cfbd7dc1 block/scsi_ioctl.c Jens Axboe 2007-07-09 319 } ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 320 2c4cffe85170a0 block/scsi_ioctl.c Paolo Bonzini 2015-06-26 321 ret = blk_fill_sghdr_rq(q, rq, hdr, mode); 2c4cffe85170a0 block/scsi_ioctl.c Paolo Bonzini 2015-06-26 322 if (ret < 0) a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 323 goto out_free_cdb; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 324 d19d744685f47f block/scsi_ioctl.c Sabrina Dubroca 2014-08-26 325 ret = 0; 0e75f9063f5c55 block/scsi_ioctl.c Mike Christie 2006-12-01 326 if (hdr->iovec_count) { 26e49cfc7e988a block/scsi_ioctl.c Kent Overstreet 2015-01-18 327 struct iov_iter i; 17a05cca99d952 block/scsi_ioctl.c Christian Engelmayer 2014-01-19 328 struct iovec *iov = NULL; 0e75f9063f5c55 block/scsi_ioctl.c Mike Christie 2006-12-01 329 e272b89ff8fb63 block/scsi_ioctl.c Al Viro 2015-03-21 330 ret = import_iovec(rq_data_dir(rq), e272b89ff8fb63 block/scsi_ioctl.c Al Viro 2015-03-21 331 hdr->dxferp, hdr->iovec_count, e272b89ff8fb63 block/scsi_ioctl.c Al Viro 2015-03-21 332 0, &iov, &i); e272b89ff8fb63 block/scsi_ioctl.c Al Viro 2015-03-21 333 if (ret < 0) a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 334 goto out_free_cdb; 0e75f9063f5c55 block/scsi_ioctl.c Mike Christie 2006-12-01 335 25636e282fe955 block/scsi_ioctl.c Tejun Heo 2009-04-15 336 /* SG_IO howto says that the shorter of the two wins */ e272b89ff8fb63 block/scsi_ioctl.c Al Viro 2015-03-21 337 iov_iter_truncate(&i, hdr->dxfer_len); 25636e282fe955 block/scsi_ioctl.c Tejun Heo 2009-04-15 338 26e49cfc7e988a block/scsi_ioctl.c Kent Overstreet 2015-01-18 339 ret = blk_rq_map_user_iov(q, rq, NULL, &i, GFP_KERNEL); e0ce0eacb3197a block/scsi_ioctl.c Kent Overstreet 2013-08-07 340 kfree(iov); 0e75f9063f5c55 block/scsi_ioctl.c Mike Christie 2006-12-01 341 } else if (hdr->dxfer_len) 152e283fdfea0c block/scsi_ioctl.c FUJITA Tomonori 2008-08-28 342 ret = blk_rq_map_user(q, rq, NULL, hdr->dxferp, hdr->dxfer_len, a3bce90edd8f6c block/scsi_ioctl.c FUJITA Tomonori 2008-08-28 343 GFP_KERNEL); 0e75f9063f5c55 block/scsi_ioctl.c Mike Christie 2006-12-01 344 0e75f9063f5c55 block/scsi_ioctl.c Mike Christie 2006-12-01 345 if (ret) a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 346 goto out_free_cdb; 0e75f9063f5c55 block/scsi_ioctl.c Mike Christie 2006-12-01 347 77d172ce2719b5 block/scsi_ioctl.c FUJITA Tomonori 2006-12-11 348 bio = rq->bio; 64c7f1d1572cac block/scsi_ioctl.c Christoph Hellwig 2017-04-05 349 req->retries = 0; 01840f9c9d7ae3 block/scsi_ioctl.c Jens Axboe 2006-02-03 350 ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 351 start_time = jiffies; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 352 ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 353 /* ignore return value. All information is passed back to caller ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 354 * (if he doesn't check that is his problem). ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 355 * N.B. a non-zero SCSI status is _not_ necessarily an error. ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 356 */ 6bd6171931c593 block/scsi_ioctl.c Marcos Paulo de Souza 2019-08-09 357 blk_execute_rq(bd_disk, rq, at_head); ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 358 24bb8fb99a0622 block/scsi_ioctl.c Tejun Heo 2007-12-05 359 hdr->duration = jiffies_to_msecs(jiffies - start_time); ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 360 2cada584b20007 block/scsi_ioctl.c Christoph Hellwig 2014-08-21 361 ret = blk_complete_sghdr_rq(rq, hdr, bio); a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 362 a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 363 out_free_cdb: 82ed4db499b859 block/scsi_ioctl.c Christoph Hellwig 2017-01-27 364 scsi_req_free_cmd(req); a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 365 out_put_request: dd1cab95f356f1 drivers/block/scsi_ioctl.c Jens Axboe 2005-06-20 366 blk_put_request(rq); dd1cab95f356f1 drivers/block/scsi_ioctl.c Jens Axboe 2005-06-20 367 return ret; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 368 } ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds 2005-04-16 369 :::::: The code at line 309 was first introduced by commit :::::: a57821cac6bb6e46abea118e34d0e86444ec1410 block: support > 16 byte CDBs for SG_IO :::::: TO: Christoph Hellwig :::::: CC: Jens Axboe --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation