Re: [PATCH] IB/core: Protect sysfs entry on ib_unregister_device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2017-07-17 at 14:03 -0500, Shiraz Saleem wrote:
> ib_unregister_device is not protecting removal of sysfs entries.
> A call to ib_register_device in that window can result in
> duplicate sysfs entry warning. Move mutex_unlock to after
> ib_device_unregister_sysfs to protect against sysfs entry creation.
> 
> This issue is exposed during driver load/unload stress test.
> 
> WARNING: CPU: 5 PID: 4445 at fs/sysfs/dir.c:31
> sysfs_warn_dup+0x5f/0x70
> sysfs: cannot create duplicate filename '/class/infiniband/i40iw0'
> Hardware name: Gigabyte Technology Co., Ltd. To be filled by
> O.E.M./Q87M-D2H
> BIOS F7 01/17/2014
> Workqueue: i40e i40e_service_task [i40e]
> Call Trace:
> dump_stack+0x67/0x98
> __warn+0xcc/0xf0
> warn_slowpath_fmt+0x4a/0x50
> ? kernfs_path_from_node+0x4b/0x60
> sysfs_warn_dup+0x5f/0x70
> sysfs_do_create_link_sd.isra.2+0xb7/0xc0
> sysfs_create_link+0x20/0x40
> device_add+0x28c/0x600
> ib_device_register_sysfs+0x58/0x170 [ib_core]
> ib_register_device+0x325/0x570 [ib_core]
> ? i40iw_register_rdma_device+0x1f4/0x400 [i40iw]
> ? kmem_cache_alloc_trace+0x143/0x330
> ? __raw_spin_lock_init+0x2d/0x50
> i40iw_register_rdma_device+0x2dc/0x400 [i40iw]
> i40iw_open+0x10a6/0x1950 [i40iw]
> ? i40iw_open+0xeab/0x1950 [i40iw]
> ? i40iw_make_cm_node+0x9c0/0x9c0 [i40iw]
> i40e_client_subtask+0xa4/0x110 [i40e]
> i40e_service_task+0xc2d/0x1320 [i40e]
> process_one_work+0x203/0x710
> ? process_one_work+0x16f/0x710
> worker_thread+0x126/0x4a0
> ? trace_hardirqs_on+0xd/0x10
> kthread+0x112/0x150
> ? process_one_work+0x710/0x710
> ? kthread_create_on_node+0x40/0x40
> ret_from_fork+0x2e/0x40
> ---[ end trace fd11b69e21ea7653 ]---
> Couldn't register device i40iw0 with driver model
> 
> Signed-off-by: Shiraz Saleem <shiraz.saleem@xxxxxxxxx>
> Signed-off-by: Sindhu Devale <sindhu.devale@xxxxxxxxx>

This got missed for my previous pull request, sorry about that. 
Applied for this one.

-- 
Doug Ledford <dledford@xxxxxxxxxx>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux