On 1/28/21 7:37 AM, Christoph Hellwig wrote: > On Thu, Jan 28, 2021 at 03:36:19PM +0900, Damien Le Moal wrote: >> 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. > > I'd much rather fix the driver to not call set_capacity with irqs > disabled.. Agree, but that might be a bit beyond 5.10 at this point.. -- Jens Axboe