[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230620033859.997-1-lidong@vivo.com>
Date: Tue, 20 Jun 2023 11:38:39 +0800
From: Li Dong <lidong@...o.com>
To: Bob Peterson <rpeterso@...hat.com>,
Andreas Gruenbacher <agruenba@...hat.com>,
cluster-devel@...hat.com (open list:GFS2 FILE SYSTEM),
linux-kernel@...r.kernel.org (open list)
Cc: opensource.kernel@...o.com, lidong@...o.com
Subject: [PATCH] fs: Fix bug in gfs2_freeze_func that can cause deadlock
Function gfs2_freeze_func causes a deadlock,because sd_freeze_mutex was
not released when return
Signed-off-by: Li Dong <lidong@...o.com>
---
fs/gfs2/super.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -741,8 +741,10 @@ void gfs2_freeze_func(struct work_struct *work)
set_bit(SDF_FROZEN, &sdp->sd_flags);
error = gfs2_do_thaw(sdp);
- if (error)
+ if (error) {
+ mutex_unlock(&sdp->sd_freeze_mutex);
goto out;
+ }
clear_bit(SDF_FROZEN, &sdp->sd_flags);
--
2.31.1.windows.1
Powered by blists - more mailing lists