[ldv-project] [PATCH] NVMe: fix deadlock on failure branch in nvme_get_ns_from_disk()

Keith Busch keith.busch at intel.com
Sat May 21 02:05:28 MSK 2016


On Sat, May 21, 2016 at 01:36:00AM +0300, Alexey Khoroshilov wrote:
> kref_put(&ns->kref, nvme_free_ns) is called in nvme_get_ns_from_disk()
> under dev_list_lock spinlock, while nvme_free_ns() locks the spinlock
> by itself. This can lead to a deadlock.
> 
> The patch moves try_module_get() and its error handling
> out of spinlock section.

This is also fixed with this earlier posted patch:

  http://lists.infradead.org/pipermail/linux-nvme/2016-May/004530.html



More information about the ldv-project mailing list