diff options
author | Benjamin Marzinski <bmarzins@redhat.com> | 2025-05-30 17:50:32 +0300 |
---|---|---|
committer | Mikulas Patocka <mpatocka@redhat.com> | 2025-06-02 15:24:51 +0300 |
commit | 85f6d5b729eaace1549f1dcc284d9865f2c3ec02 (patch) | |
tree | b8ea51c50529b33a3a7d4f242e6997d0912efda9 | |
parent | 050a3e71ce24c6f18d70679d68056f76375ff51c (diff) | |
download | linux-85f6d5b729eaace1549f1dcc284d9865f2c3ec02.tar.xz |
dm-table: check BLK_FEAT_ATOMIC_WRITES inside limits_lock
dm_set_device_limits() should check q->limits.features for
BLK_FEAT_ATOMIC_WRITES while holding q->limits_lock, like it does for
the rest of the queue limits.
Fixes: b7c18b17a173 ("dm-table: Set BLK_FEAT_ATOMIC_WRITES for target queue limits")
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
-rw-r--r-- | drivers/md/dm-table.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index 57573e8b5aa9..9f95f77687ef 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c @@ -430,13 +430,13 @@ static int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev, return 0; } + mutex_lock(&q->limits_lock); /* * BLK_FEAT_ATOMIC_WRITES is not inherited from the bottom device in * blk_stack_limits(), so do it manually. */ limits->features |= (q->limits.features & BLK_FEAT_ATOMIC_WRITES); - mutex_lock(&q->limits_lock); if (blk_stack_limits(limits, &q->limits, get_start_sect(bdev) + start) < 0) DMWARN("%s: adding target device %pg caused an alignment inconsistency: " |