linux/block/partitions
Damien Le Moal 0fe37724f8 block: fix bd_size_lock use
Some block device drivers, e.g. the skd driver, call set_capacity() with
IRQ disabled. This results in lockdep ito complain about inconsistent
lock states ("inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage")
because set_capacity takes a block device bd_size_lock using the
functions spin_lock() and spin_unlock(). Ensure a consistent locking
state by replacing these calls with spin_lock_irqsave() and
spin_lock_irqrestore(). The same applies to bdev_set_nr_sectors().
With this fix, all lockdep complaints are resolved.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-01-28 07:31:50 -07:00
..
acorn.c block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
aix.c block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
amiga.c block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
atari.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atari.h block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
check.h block: move block layer internals out of include/linux/genhd.h 2020-03-25 09:50:08 -06:00
cmdline.c block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
core.c block: fix bd_size_lock use 2021-01-28 07:31:50 -07:00
efi.c partitions/efi: Fix partition name parsing in GUID partition entry 2020-03-08 10:00:09 +01:00
efi.h Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-03-30 16:13:08 -07:00
ibm.c partitions/ibm: fix non-DASD devices 2020-10-07 07:55:35 -06:00
karma.c block: remove block/partitions/karma.h 2020-03-24 07:57:08 -06:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
ldm.c partitions/ldm: Replace uuid_copy() with import_uuid() where it makes sense 2020-06-18 09:17:54 -06:00
ldm.h block: Replace zero-length array with flexible-array 2020-06-15 23:08:32 -05:00
mac.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac.h block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
Makefile block: merge partition-generic.c and check.c 2020-03-24 07:57:08 -06:00
msdos.c block: move the various x86 Unix label formats out of genhd.h 2020-03-24 07:57:08 -06:00
osf.c block: remove block/partitions/osf.h 2020-03-24 07:57:08 -06:00
sgi.c block: move the *_PARTITION enum out of genhd.h 2020-03-24 07:57:08 -06:00
sun.c block: move the *_PARTITION enum out of genhd.h 2020-03-24 07:57:08 -06:00
sysv68.c block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00
ultrix.c block: declare all partition detection routines in check.h 2020-03-24 07:57:08 -06:00