Hi Sudip, I hit a sysfs_warn_dup inside QEMU running 4.9.0-rc4 (I suspect earlier versions as well, but this is the first upstream I've run in a while). This warning looks like something the kernel test robot ran into a few months ago:
http://marc.info/?t=147267773300003&r=1&w=2 I'm running CentOS7 inside QEMU with the following options: qemu-system-x86_64 -smp 4 -m 8192 \ -drive file=centos7.qcow2,cache=none,if=virtio \ -usbdevice tablet -enable-kvm -monitor stdio \ -parallel /dev/null -redir tcp:2222::22 \ -serial file:serial.out a kernel with these options: % grep PARPORT .config CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_PARPORT=m CONFIG_PARPORT_PC=m # CONFIG_PARPORT_SERIAL is not set # CONFIG_PARPORT_PC_FIFO is not set # CONFIG_PARPORT_PC_SUPERIO is not set # CONFIG_PARPORT_GSC is not set # CONFIG_PARPORT_AX88796 is not set CONFIG_PARPORT_1284=y # CONFIG_I2C_PARPORT is not set # CONFIG_I2C_PARPORT_LIGHT is not set and I see the following warning on boot: ppdev: user-space parallel port driver ------------[ cut here ]------------ WARNING: CPU: 2 PID: 581 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x64/0x80 sysfs: cannot create duplicate filename '/devices/pnp0/00:04/ppdev/parport0' Modules linked in: ppdev sg parport_pc(+) parport pcspkr i2c_piix4 ip_tables xfs libcrc32c sr_mod cdrom ata_generic pata_acpi cirrus drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm drm virtio_blk e1000 virtio_pci ata_piix virtio_ring i2c_core libata virtio serio_raw floppy dm_mirror dm_region_hash dm_log dm_mod CPU: 2 PID: 581 Comm: systemd-udevd Not tainted 4.9.0-rc4+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.5.1 01/01/2011 ffffc900014c76f8 ffffffff81351b2f ffffc900014c7748 0000000000000000 ffffc900014c7738 ffffffff8108bab1 0000001f00001000 ffff8802280bc548 ffff88022c290c68 ffff880225c98398 ffff88022d834bd8 0000000006300000 Call Trace: [<ffffffff81351b2f>] dump_stack+0x63/0x84 [<ffffffff8108bab1>] __warn+0xd1/0xf0 [<ffffffff8108bb2f>] warn_slowpath_fmt+0x5f/0x80 [<ffffffff812a3350>] ? kernfs_path_from_node+0x50/0x60 [<ffffffff812a6b44>] sysfs_warn_dup+0x64/0x80 [<ffffffff812a6c2e>] sysfs_create_dir_ns+0x7e/0x90 [<ffffffff81354ad2>] kobject_add_internal+0xa2/0x320 [<ffffffff8148ff33>] ? device_private_init+0x23/0x70 [<ffffffff81354f85>] kobject_add+0x75/0xd0 [<ffffffff816d8002>] ? mutex_lock+0x12/0x2f [<ffffffff81490099>] device_add+0x119/0x610 [<ffffffff81490788>] device_create_groups_vargs+0xd8/0x100 [<ffffffffa0316090>] ? dead_read+0x10/0x10 [parport] [<ffffffff81490821>] device_create+0x51/0x70 [<ffffffff811fd5a1>] ? kfree+0x121/0x170 [<ffffffff816ccf60>] ? klist_next+0x20/0xf0 [<ffffffffa03230b4>] pp_attach+0x34/0x40 [ppdev] [<ffffffffa03160a7>] driver_check+0x17/0x20 [parport] [<ffffffff814913e8>] bus_for_each_drv+0x68/0xb0 [<ffffffffa03162b9>] attach_driver_chain+0x59/0x60 [parport] [<ffffffffa0316720>] parport_announce_port+0xc0/0x110 [parport] [<ffffffffa032ae7c>] parport_pc_probe_port+0x70c/0xb20 [parport_pc] [<ffffffff812a460a>] ? kernfs_activate+0x7a/0xe0 [<ffffffff8148f6cc>] ? _dev_info+0x6c/0x90 [<ffffffffa032bd95>] parport_pc_pnp_probe+0x145/0x1e0 [parport_pc] [<ffffffffa032bc50>] ? sio_via_probe+0x430/0x430 [parport_pc] [<ffffffff8140c8c1>] pnp_device_probe+0x61/0xc0 [<ffffffff814936e7>] driver_probe_device+0x227/0x440 [<ffffffff814939dd>] __driver_attach+0xdd/0xe0 [<ffffffff81493900>] ? driver_probe_device+0x440/0x440 [<ffffffff8149130c>] bus_for_each_dev+0x6c/0xc0 [<ffffffff81492fae>] driver_attach+0x1e/0x20 [<ffffffff814928c5>] bus_add_driver+0x45/0x270 [<ffffffff81494450>] driver_register+0x60/0xe0 [<ffffffff8140c710>] pnp_register_driver+0x20/0x30 [<ffffffffa0332398>] parport_pc_init+0x2b5/0xf1d [parport_pc] [<ffffffffa03320e3>] ? parport_parse_param.constprop.15+0xe3/0xe3 [parport_pc] [<ffffffff81002190>] do_one_initcall+0x50/0x190 [<ffffffff811958ce>] ? do_init_module+0x27/0x1f1 [<ffffffff811fc3bc>] ? kmem_cache_alloc_trace+0x16c/0x1b0 [<ffffffff81195907>] do_init_module+0x60/0x1f1 [<ffffffff81116e7b>] load_module+0x15ab/0x1aa0 [<ffffffff81113810>] ? __symbol_put+0x60/0x60 [<ffffffff812f7b1d>] ? ima_post_read_file+0x3d/0x80 [<ffffffff812d39eb>] ? security_kernel_post_read_file+0x6b/0x80 [<ffffffff81117586>] SYSC_finit_module+0xa6/0xf0 [<ffffffff811175ee>] SyS_finit_module+0xe/0x10 [<ffffffff816da837>] entry_SYSCALL_64_fastpath+0x1a/0xa9 ---[ end trace 8304e3df5abed4a7 ]--- ------------[ cut here ]------------ WARNING: CPU: 2 PID: 581 at lib/kobject.c:240 kobject_add_internal+0x2b5/0x320 kobject_add_internal failed for parport0 with -EEXIST, don't try to register things with the same name in the same directory. Modules linked in: ppdev sg parport_pc(+) parport pcspkr i2c_piix4 ip_tables xfs libcrc32c sr_mod cdrom ata_generic pata_acpi cirrus drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm drm virtio_blk e1000 virtio_pci ata_piix virtio_ring i2c_core libata virtio serio_raw floppy dm_mirror dm_region_hash dm_log dm_mod CPU: 2 PID: 581 Comm: systemd-udevd Tainted: G W 4.9.0-rc4+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.5.1 01/01/2011 ffffc900014c7748 ffffffff81351b2f ffffc900014c7798 0000000000000000 ffffc900014c7788 ffffffff8108bab1 000000f02c290c68 ffff880226a0afe8 ffff88022d834bd8 00000000ffffffef ffff88022d834bd8 0000000006300000 Call Trace: [<ffffffff81351b2f>] dump_stack+0x63/0x84 [<ffffffff8108bab1>] __warn+0xd1/0xf0 [<ffffffff8108bb2f>] warn_slowpath_fmt+0x5f/0x80 [<ffffffff81354ce5>] kobject_add_internal+0x2b5/0x320 [<ffffffff8148ff33>] ? device_private_init+0x23/0x70 [<ffffffff81354f85>] kobject_add+0x75/0xd0 [<ffffffff816d8002>] ? mutex_lock+0x12/0x2f [<ffffffff81490099>] device_add+0x119/0x610 [<ffffffff81490788>] device_create_groups_vargs+0xd8/0x100 [<ffffffffa0316090>] ? dead_read+0x10/0x10 [parport] [<ffffffff81490821>] device_create+0x51/0x70 [<ffffffff811fd5a1>] ? kfree+0x121/0x170 [<ffffffff816ccf60>] ? klist_next+0x20/0xf0 [<ffffffffa03230b4>] pp_attach+0x34/0x40 [ppdev] [<ffffffffa03160a7>] driver_check+0x17/0x20 [parport] [<ffffffff814913e8>] bus_for_each_drv+0x68/0xb0 [<ffffffffa03162b9>] attach_driver_chain+0x59/0x60 [parport] [<ffffffffa0316720>] parport_announce_port+0xc0/0x110 [parport] [<ffffffffa032ae7c>] parport_pc_probe_port+0x70c/0xb20 [parport_pc] [<ffffffff812a460a>] ? kernfs_activate+0x7a/0xe0 [<ffffffff8148f6cc>] ? _dev_info+0x6c/0x90 [<ffffffffa032bd95>] parport_pc_pnp_probe+0x145/0x1e0 [parport_pc] [<ffffffffa032bc50>] ? sio_via_probe+0x430/0x430 [parport_pc] [<ffffffff8140c8c1>] pnp_device_probe+0x61/0xc0 [<ffffffff814936e7>] driver_probe_device+0x227/0x440 [<ffffffff814939dd>] __driver_attach+0xdd/0xe0 [<ffffffff81493900>] ? driver_probe_device+0x440/0x440 [<ffffffff8149130c>] bus_for_each_dev+0x6c/0xc0 [<ffffffff81492fae>] driver_attach+0x1e/0x20 [<ffffffff814928c5>] bus_add_driver+0x45/0x270 [<ffffffff81494450>] driver_register+0x60/0xe0 [<ffffffff8140c710>] pnp_register_driver+0x20/0x30 [<ffffffffa0332398>] parport_pc_init+0x2b5/0xf1d [parport_pc] [<ffffffffa03320e3>] ? parport_parse_param.constprop.15+0xe3/0xe3 [parport_pc] [<ffffffff81002190>] do_one_initcall+0x50/0x190 [<ffffffff811958ce>] ? do_init_module+0x27/0x1f1 [<ffffffff811fc3bc>] ? kmem_cache_alloc_trace+0x16c/0x1b0 [<ffffffff81195907>] do_init_module+0x60/0x1f1 [<ffffffff81116e7b>] load_module+0x15ab/0x1aa0 [<ffffffff81113810>] ? __symbol_put+0x60/0x60 [<ffffffff812f7b1d>] ? ima_post_read_file+0x3d/0x80 [<ffffffff812d39eb>] ? security_kernel_post_read_file+0x6b/0x80 [<ffffffff81117586>] SYSC_finit_module+0xa6/0xf0 [<ffffffff811175ee>] SyS_finit_module+0xe/0x10 [<ffffffff816da837>] entry_SYSCALL_64_fastpath+0x1a/0xa9 ---[ end trace 8304e3df5abed4a8 ]--- I can repeat the warnings by unloading and reloading the parallel port drivers: rmmod parport_pc ppdev parport modprobe parport_pc Instrumenting sysfs_create_dir_ns when adding '/devices/pnp0/00:04/ppdev/parport0', I see one call from ppdev/parport drivers: entry_SYSCALL_64_fastpath SyS_finit_module SYSC_finit_module load_module do_init_module do_one_initcall ppdev_init [ppdev] __parport_register_driver [parport] bus_for_each_dev port_check[parport] pp_attach[ppdev] device_create device_create_groups_vargs device_add kobject_add kobject_add_internal sysfs_create_dir_ns and then a follow up call to add the same sysfs directory via the parport_pc driver: entry_SYSCALL_64_fastpath SyS_finit_module SYSC_finit_module load_module do_init_module do_one_initcall parport_pc_init [parport_pc] pnp_register_driver driver_register bus_add_driver driver_attach bus_for_each_dev __driver_attach driver_probe_device pnp_device_probe parport_pc_pnp_probe [parport_pc] parport_pc_probe_port [parport_pc] parport_announce_port [parport] attach_driver_chain [parport] bus_for_each_drv driver_check [parport] pp_attach[ppdev] device_create device_create_groups_vargs device_add kobject_add kobject_add_internal sysfs_create_dir_ns This warning is readily reproducible in my current VM setup, so I can test patches or further debugging if necessary. Hope this helps, -- Joe