Skip to content
Commit b23d90c6 authored by Li Nan's avatar Li Nan
Browse files

md/dm-raid: don't call md_reap_sync_thread() directly

mainline inclusion
from mainline-v6.9-rc1
commit cd32b27a66db8776d8b8e82ec7d7dde97a8693b0
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9Q98W
CVE: CVE-2024-35808

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cd32b27a66db8776d8b8e82ec7d7dde97a8693b0



--------------------------------

Currently md_reap_sync_thread() is called from raid_message() directly
without holding 'reconfig_mutex', this is definitely unsafe because
md_reap_sync_thread() can change many fields that is protected by
'reconfig_mutex'.

However, hold 'reconfig_mutex' here is still problematic because this
will cause deadlock, for example, commit 130443d6 ("md: refactor
idle/frozen_sync_thread() to fix deadlock").

Fix this problem by using stop_sync_thread() to unregister sync_thread,
like md/raid did.

Fixes: be83651f ("DM RAID: Add message/status support for changing sync action")
Cc: stable@vger.kernel.org # v6.7+
Signed-off-by: default avatarYu Kuai <yukuai3@huawei.com>
Signed-off-by: default avatarXiao Ni <xni@redhat.com>
Acked-by: default avatarMike Snitzer <snitzer@kernel.org>
Signed-off-by: default avatarSong Liu <song@kernel.org>
Link: https://lore.kernel.org/r/20240305072306.2562024-7-yukuai1@huaweicloud.com


Conflicts:
	drivers/md/dm-raid.c
	drivers/md/md.c
	drivers/md/md.h
[ mainline uses new helper exported by commit 7a2347e284d7 ("md: export
helpers to stop sync_thread"), just use exist helper and export them here.
stop_sync_thread() is changed many times, but doesn't affect the logic of
this patch. ]
Signed-off-by: default avatarLi Nan <linan122@huawei.com>
parent d2901c3f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment