Re: [lkp-robot] [scsi, block] 0dba1314d4: WARNING:at_fs/sysfs/dir.c:#sysfs_warn_dup

From: Dan Williams
Date: Sat Feb 04 2017 - 16:08:37 EST


On Sat, Feb 4, 2017 at 1:04 PM, James Bottomley
<James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On Sat, 2017-02-04 at 12:37 -0800, Dan Williams wrote:
>> On Sat, Feb 4, 2017 at 12:36 PM, Dan Williams <
>> dan.j.williams@xxxxxxxxx> wrote:
>> > On Fri, Feb 3, 2017 at 11:09 PM, kernel test robot
>> > <xiaolong.ye@xxxxxxxxx> wrote:
>> > >
>> > > FYI, we noticed the following commit:
>> > >
>> > > commit: 0dba1314d4f81115dce711292ec7981d17231064 ("scsi, block:
>> > > fix duplicate bdi name registration crashes")
>> > > https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block
>> > > .git for-4.11/next
>> > >
>> > > in testcase: boot
>> > >
>> > > on test machine: qemu-system-i386 -enable-kvm -cpu
>> > > Haswell,+smep,+smap -m 360M
>> > >
>> > > caused below changes (please refer to attached dmesg/kmsg for
>> > > entire log/backtrace):
>> > >
>> > >
>> > > +----------------------------------------------+------------+----
>> > > --------+
>> > > > | efa7c9f97e |
>> > > > 0dba1314d4 |
>> > > +----------------------------------------------+------------+----
>> > > --------+
>> > > > boot_successes | 0 | 0
>> > > > |
>> > > > boot_failures | 6 | 6
>> > > > |
>> > > > WARNING:at_include/linux/kref.h:#kobject_get | 6 | 6
>> > > > |
>> > > > BUG:workqueue_lockup-pool | 2 |
>> > > > |
>> > > > WARNING:at_fs/sysfs/dir.c:#sysfs_warn_dup | 0 | 6
>> > > > |
>> > > +----------------------------------------------+------------+----
>> > > --------+
>> > >
>> > >
>> > >
>> > > [ 8.820258] ------------[ cut here ]------------
>> > > [ 8.821188] WARNING: CPU: 0 PID: 1 at fs/sysfs/dir.c:31
>> > > sysfs_warn_dup+0x58/0x70
>> > > [ 8.822994] sysfs: cannot create duplicate filename
>> > > '/class/scsi_disk/0:0:0:0'
>> > > [ 8.824567] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W
>> > > 4.10.0-rc5-00097-g0dba131 #1
>> > > [ 8.826275] Hardware name: QEMU Standard PC (i440FX + PIIX,
>> > > 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
>> > > [ 8.828156] Call Trace:
>> > > [ 8.828851] dump_stack+0x79/0xa4
>> > > [ 8.829628] __warn+0xd2/0xf0
>> > > [ 8.830372] ? sysfs_warn_dup+0x58/0x70
>> > > [ 8.831211] warn_slowpath_fmt+0x36/0x40
>> > > [ 8.832054] sysfs_warn_dup+0x58/0x70
>> > > [ 8.832865] sysfs_do_create_link_sd+0x9e/0xb0
>> > > [ 8.833844] sysfs_create_link+0x20/0x40
>> > > [ 8.834714] device_add+0x218/0x610
>> > > [ 8.835511] ? kvasprintf_const+0x49/0x60
>> > > [ 8.836352] ? kobject_set_name_vargs+0x62/0x80
>> > > [ 8.837253] sd_probe+0x31a/0x390
>> > > [ 8.838027] ? _raw_spin_unlock+0x1d/0x30
>> > > [ 8.838884] driver_probe_device+0x190/0x4a0
>> > > [ 8.839751] __device_attach_driver+0x6f/0x100
>> > > [ 8.840736] ? klist_next+0x6e/0x100
>> > > [ 8.841538] ? __driver_attach+0xf0/0xf0
>> > > [ 8.842383] bus_for_each_drv+0x47/0x80
>> > > [ 8.843226] __device_attach+0xa8/0x120
>> > > [ 8.844062] ? __driver_attach+0xf0/0xf0
>> > > [ 8.844902] device_initial_probe+0xd/0x10
>> > > [ 8.845754] bus_probe_device+0x77/0x80
>> > > [ 8.846593] device_add+0x320/0x610
>> > > [ 8.847387] scsi_sysfs_add_sdev+0x85/0x2b0
>> > > [ 8.848246] ? scsi_attach_vpd+0x1f9/0x210
>> > > [ 8.849103] scsi_probe_and_add_lun+0xd44/0xe70
>> > > [ 8.850021] __scsi_scan_target+0xd8/0x690
>> > > [ 8.850918] ? __pm_runtime_resume+0x37/0x80
>> > > [ 8.852124] scsi_scan_channel+0x8f/0xb0
>> > > [ 8.852977] scsi_scan_host_selected+0x100/0x180
>> > > [ 8.853885] do_scsi_scan_host+0x8a/0x90
>> > > [ 8.854733] scsi_scan_host+0x15a/0x1a0
>> > > [ 8.855562] sdebug_driver_probe+0x14f/0x3d0
>> > > [ 8.856435] ? _raw_spin_unlock+0x1d/0x30
>> > > [ 8.857270] ? devices_kset_move_last+0x71/0xc0
>> > > [ 8.858170] ? sysfs_create_link+0x20/0x40
>> > > [ 8.859057] driver_probe_device+0xd4/0x4a0
>> > > [ 8.859924] __device_attach_driver+0x6f/0x100
>> > > [ 8.860814] ? klist_next+0x6e/0x100
>> > > [ 8.861619] ? __driver_attach+0xf0/0xf0
>> > > [ 8.862470] bus_for_each_drv+0x47/0x80
>> > > [ 8.863298] __device_attach+0xa8/0x120
>> > > [ 8.864131] ? __driver_attach+0xf0/0xf0
>> > > [ 8.864975] device_initial_probe+0xd/0x10
>> > > [ 8.865831] bus_probe_device+0x77/0x80
>> > > [ 8.866704] device_add+0x320/0x610
>> > > [ 8.867497] ? pm_runtime_init+0xea/0xf0
>> > > [ 8.868326] device_register+0x12/0x20
>> > > [ 8.869146] sdebug_add_adapter+0xda/0x1e0
>> > > [ 8.870002] ? driver_register+0x83/0xe0
>> > > [ 8.870847] scsi_debug_init+0x5a0/0x6eb
>> > > [ 8.871686] ? kobject_uevent+0xa/0x10
>> > > [ 8.872507] ? driver_register+0x83/0xe0
>> > > [ 8.873336] ? scsi_register_driver+0xf/0x20
>> > > [ 8.874218] ? init_ch_module+0x9d/0x9d
>> > > [ 8.875088] do_one_initcall+0x7b/0x132
>> > > [ 8.875918] ? kernel_init_freeable+0xe7/0x188
>> > > [ 8.876807] kernel_init_freeable+0x10a/0x188
>> > > [ 8.877690] ? rest_init+0xb0/0xb0
>> > > [ 8.878482] kernel_init+0xb/0x100
>> > > [ 8.879262] ? schedule_tail+0xc/0x70
>> > > [ 8.880076] ? rest_init+0xb0/0xb0
>> > > [ 8.880861] ret_from_fork+0x21/0x2c
>> > > [ 8.881688] ---[ end trace 62a20110376b9cdf ]---
>> > >
>> > >
>> > > To reproduce:
>> > >
>> > > git clone
>> > > git://git.kernel.org/pub/scm/linux/kernel/git/wfg/lkp-tests.git
>> > > cd lkp-tests
>> > > bin/lkp qemu -k <bzImage> job-script # job-script is
>> > > attached in this email
>> >
>> > These reproduction steps don't work for me. I also notice that
>> > 0day is picking up on a later error, the real error is that we
>> > register to scsi devices with the same name:
>>
>> ...hit send without the log showing two "0:0:0:0" devices being
>> registered at the same time.
>
> OK, but just trying to shoot the messenger isn't at all helpful in this
> case. We use the 0day test suite as one of our primary bulwarks
> against submission bugs and it clearly identified your commit as the
> first bad one. Thus either we need your code fixed or we need the test
> fixed; can you work with the 0day people to root cause this? Jan can
> probably help, just in case it's a patch interaction problem.

RIght, I'm not shooting the messenger just pointing out that the real
error occurs a few lines up in the log and it took me a while to
notice.

Back to wrestling with the reproduction instructions...