[PATCH 0/2] fix locking issues with blk-wbt parameters update

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

 



Hi,

This patchset contains two patches.

The first patch fixes a missed release of q->elevator_lock which was
mistakenly omitted in one of the return code path of ioc_qos_write.

The second patch fixes the locdep splat reported due to the incorrect
locking order between q->elevator_lock and q->rq_qos_mutex. The commit 
245618f8e45f ("block: protect wbt_lat_usec using q->elevator_lock") 
introduced q->elevator_lock to protect updates to blk-wbt parameters 
when writing to the sysfs attribute wbt_lat_usec and the cgroup attribute 
io.cost.qos. However, writes to these attributes also acquire q->rq_qos_
mutex, creating a potential circular dependency if the locking order is 
not correctly followed. This patch ensures the correct locking sequence 
to prevent such issues. Unfortunately, blktests currently lacks a test 
case for writes to these attributes, which might have caught this issue 
earlier. I plan to submit a blktest to cover these cases.

Nilay Shroff (2):
  block: release q->elevator_lock in ioc_qos_write
  block: correct locking order for protecting blk-wbt parameters

 block/blk-cgroup.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++
 block/blk-cgroup.h |  2 ++
 block/blk-iocost.c | 17 +++++-----------
 3 files changed, 58 insertions(+), 12 deletions(-)

-- 
2.47.1





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux