]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
block: Fix dev_t minor allocation lifetime
authorKeith Busch <keith.busch@intel.com>
Tue, 26 Aug 2014 15:05:36 +0000 (09:05 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 5 Oct 2014 20:41:05 +0000 (13:41 -0700)
commitb9dfd48c65affe4c8ee80a9757486de10dc64123
tree76a0ae49dac1481048ae0185e0d9e11c49a89507
parent31512f8bea38d31a2f7e0c7a65f3cdb645a2ab5f
block: Fix dev_t minor allocation lifetime

commit 2da78092dda13f1efd26edbbf99a567776913750 upstream.

Releases the dev_t minor when all references are closed to prevent
another device from acquiring the same major/minor.

Since the partition's release may be invoked from call_rcu's soft-irq
context, the ext_dev_idr's mutex had to be replaced with a spinlock so
as not so sleep.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
block/genhd.c
block/partition-generic.c