[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250826074204.390111-1-zhengqixing@huaweicloud.com>
Date: Tue, 26 Aug 2025 15:42:02 +0800
From: Zheng Qixing <zhengqixing@...weicloud.com>
To: agk@...hat.com,
snitzer@...nel.org,
mpatocka@...hat.com,
axboe@...nel.dk,
ming.lei@...hat.com
Cc: dm-devel@...ts.linux.dev,
linux-kernel@...r.kernel.org,
yukuai3@...wei.com,
yi.zhang@...wei.com,
yangerkun@...wei.com,
houtao1@...wei.com,
zhengqixing@...wei.com
Subject: [PATCH-next 0/2] dm: fix quiesce asymmetry and null pointer in suspend/load race
From: Zheng Qixing <zhengqixing@...wei.com>
Hello,
During reliability testing of the dm module, we discovered two bugs when
performing create/remove and suspend/resume operations at high frequency.
Analysis revealed that race conditions between suspend and table load
operations cause asymmetric handling of q->quiesce_depth and null pointer
dereference issues with q->tag_set.
To address the q->tag_set null pointer issue, patch 2 determines whether
to perform certain suspend actions for request-based devices based on the
existence of the table (map).
For detailed information, please refer to the patch commits.
Additionally, since modern Linux kernels have indeed transitioned to
multi-queue as the default (and single-queue is largely deprecated),
is using queue_is_mq() to determine dm_request_based() obsolete?
Zheng Qixing (2):
dm: fix queue start/stop imbalance under suspend/load/resume races
dm: fix NULL pointer dereference in __dm_suspend()
drivers/md/dm-core.h | 1 +
drivers/md/dm.c | 13 ++++++++-----
2 files changed, 9 insertions(+), 5 deletions(-)
--
2.39.2
Powered by blists - more mailing lists