Message ID | 20230608024159.1282953-2-yukuai1@huaweicloud.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fix blktrace debugfs entries leakage | expand |
Looks good:
Reviewed-by: Christoph Hellwig <hch@lst.de>
Hi Yu,
kernel test robot noticed the following build warnings:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on linus/master v6.4-rc5 next-20230608]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Yu-Kuai/scsi-sg-fix-blktrace-debugfs-entries-leakage/20230608-104735
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20230608024159.1282953-2-yukuai1%40huaweicloud.com
patch subject: [PATCH v3 1/2] scsi: sg: fix blktrace debugfs entries leakage
config: i386-randconfig-r002-20230608 (https://download.01.org/0day-ci/archive/20230608/202306082353.o2lpbQcL-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build):
git remote add axboe-block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
git fetch axboe-block for-next
git checkout axboe-block/for-next
b4 shazam https://lore.kernel.org/r/20230608024159.1282953-2-yukuai1@huaweicloud.com
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 olddefconfig
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306082353.o2lpbQcL-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/scsi/sg.c:45:
drivers/scsi/sg.c: In function 'sg_device_destroy':
>> include/linux/blktrace_api.h:88:57: warning: statement with no effect [-Wunused-value]
88 | # define blk_trace_remove(q) (-ENOTTY)
| ^
drivers/scsi/sg.c:1575:9: note: in expansion of macro 'blk_trace_remove'
1575 | blk_trace_remove(sdp->device->request_queue);
| ^~~~~~~~~~~~~~~~
vim +88 include/linux/blktrace_api.h
157f9c00e88529 Arnaldo Carvalho de Melo 2009-01-26 81
2056a782f8e7e6 Jens Axboe 2006-03-23 82 #else /* !CONFIG_BLK_DEV_IO_TRACE */
2056a782f8e7e6 Jens Axboe 2006-03-23 83 # define blk_trace_ioctl(bdev, cmd, arg) (-ENOTTY)
2056a782f8e7e6 Jens Axboe 2006-03-23 84 # define blk_trace_shutdown(q) do { } while (0)
a54895fa057c67 Christoph Hellwig 2020-12-03 85 # define blk_add_driver_data(rq, data, len) do {} while (0)
d0deef5b14af7d Shawn Du 2009-04-14 86 # define blk_trace_setup(q, name, dev, bdev, arg) (-ENOTTY)
6da127ad0918f9 Christof Schmitt 2008-01-11 87 # define blk_trace_startstop(q, start) (-ENOTTY)
6da127ad0918f9 Christof Schmitt 2008-01-11 @88 # define blk_trace_remove(q) (-ENOTTY)
9d5f09a424a67d Alan D. Brunelle 2008-05-27 89 # define blk_add_trace_msg(q, fmt, ...) do { } while (0)
35fe6d763229e8 Shaohua Li 2017-07-12 90 # define blk_add_cgroup_trace_msg(q, cg, fmt, ...) do { } while (0)
59fa0224cfea31 Shaohua Li 2016-05-09 91 # define blk_trace_note_message_enabled(q) (false)
2056a782f8e7e6 Jens Axboe 2006-03-23 92 #endif /* CONFIG_BLK_DEV_IO_TRACE */
d0deef5b14af7d Shawn Du 2009-04-14 93
Hi, 在 2023/06/09 0:02, kernel test robot 写道: > Hi Yu, > > kernel test robot noticed the following build warnings: > > [auto build test WARNING on axboe-block/for-next] > [also build test WARNING on linus/master v6.4-rc5 next-20230608] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Yu-Kuai/scsi-sg-fix-blktrace-debugfs-entries-leakage/20230608-104735 > base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next > patch link: https://lore.kernel.org/r/20230608024159.1282953-2-yukuai1%40huaweicloud.com > patch subject: [PATCH v3 1/2] scsi: sg: fix blktrace debugfs entries leakage > config: i386-randconfig-r002-20230608 (https://download.01.org/0day-ci/archive/20230608/202306082353.o2lpbQcL-lkp@intel.com/config) > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 > reproduce (this is a W=1 build): > git remote add axboe-block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git > git fetch axboe-block for-next > git checkout axboe-block/for-next > b4 shazam https://lore.kernel.org/r/20230608024159.1282953-2-yukuai1@huaweicloud.com > # save the config file > mkdir build_dir && cp config build_dir/.config > make W=1 O=build_dir ARCH=i386 olddefconfig > make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202306082353.o2lpbQcL-lkp@intel.com/ > > All warnings (new ones prefixed by >>): > > In file included from drivers/scsi/sg.c:45: > drivers/scsi/sg.c: In function 'sg_device_destroy': >>> include/linux/blktrace_api.h:88:57: warning: statement with no effect [-Wunused-value] > 88 | # define blk_trace_remove(q) (-ENOTTY) > | So, this warning happens in all the caller of blk_trace_remove() when CONFIG_BLK_DEV_IO_TRACE is disabled that doesn't handle the return value. I'll use blk_trace_shutdown() instead to avoid this warning. ^ Thanks, Kuai > drivers/scsi/sg.c:1575:9: note: in expansion of macro 'blk_trace_remove' > 1575 | blk_trace_remove(sdp->device->request_queue); > | ^~~~~~~~~~~~~~~~ > > > vim +88 include/linux/blktrace_api.h > > 157f9c00e88529 Arnaldo Carvalho de Melo 2009-01-26 81 > 2056a782f8e7e6 Jens Axboe 2006-03-23 82 #else /* !CONFIG_BLK_DEV_IO_TRACE */ > 2056a782f8e7e6 Jens Axboe 2006-03-23 83 # define blk_trace_ioctl(bdev, cmd, arg) (-ENOTTY) > 2056a782f8e7e6 Jens Axboe 2006-03-23 84 # define blk_trace_shutdown(q) do { } while (0) > a54895fa057c67 Christoph Hellwig 2020-12-03 85 # define blk_add_driver_data(rq, data, len) do {} while (0) > d0deef5b14af7d Shawn Du 2009-04-14 86 # define blk_trace_setup(q, name, dev, bdev, arg) (-ENOTTY) > 6da127ad0918f9 Christof Schmitt 2008-01-11 87 # define blk_trace_startstop(q, start) (-ENOTTY) > 6da127ad0918f9 Christof Schmitt 2008-01-11 @88 # define blk_trace_remove(q) (-ENOTTY) > 9d5f09a424a67d Alan D. Brunelle 2008-05-27 89 # define blk_add_trace_msg(q, fmt, ...) do { } while (0) > 35fe6d763229e8 Shaohua Li 2017-07-12 90 # define blk_add_cgroup_trace_msg(q, cg, fmt, ...) do { } while (0) > 59fa0224cfea31 Shaohua Li 2016-05-09 91 # define blk_trace_note_message_enabled(q) (false) > 2056a782f8e7e6 Jens Axboe 2006-03-23 92 #endif /* CONFIG_BLK_DEV_IO_TRACE */ > d0deef5b14af7d Shawn Du 2009-04-14 93 >
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 037f8c98a6d3..ed4e2f9b3d64 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -1496,6 +1496,10 @@ sg_add_device(struct device *cl_dev) int error; unsigned long iflags; + error = scsi_device_get(scsidp); + if (error) + return error; + error = -ENOMEM; cdev = cdev_alloc(); if (!cdev) { @@ -1553,6 +1557,7 @@ sg_add_device(struct device *cl_dev) out: if (cdev) cdev_del(cdev); + scsi_device_put(scsidp); return error; } @@ -1567,6 +1572,9 @@ sg_device_destroy(struct kref *kref) * any other cleanup. */ + blk_trace_remove(sdp->device->request_queue); + scsi_device_put(sdp->device); + write_lock_irqsave(&sg_index_lock, flags); idr_remove(&sg_index_idr, sdp->index); write_unlock_irqrestore(&sg_index_lock, flags);