[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200523043551.9756-1-wu000273@umn.edu>
Date: Fri, 22 May 2020 23:35:51 -0500
From: wu000273@....edu
To: hubcap@...ibond.com
Cc: martin@...ibond.com, devel@...ts.orangefs.org,
linux-kernel@...r.kernel.org, kjlu@....edu, wu000273@....edu
Subject: [PATCH 2/2] orangefs: fix double-unlock issue in service_operation().
From: Qiushi Wu <wu000273@....edu>
spin_unlock(&op->lock) is called before calling wake_up_interruptible().
But spin_unlock() was called again after a call of the function
"wait_for_matching_downcall" failed. Fix this issue by remove
the second spin_unlock().
Signed-off-by: Qiushi Wu <wu000273@....edu>
---
fs/orangefs/waitqueue.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/fs/orangefs/waitqueue.c b/fs/orangefs/waitqueue.c
index beafc33d57be..3981507ad920 100644
--- a/fs/orangefs/waitqueue.c
+++ b/fs/orangefs/waitqueue.c
@@ -152,7 +152,6 @@ int service_operation(struct orangefs_kernel_op_s *op,
/* got matching downcall; make sure status is in errno format */
if (!ret) {
- spin_unlock(&op->lock);
op->downcall.status =
orangefs_normalize_to_errno(op->downcall.status);
ret = op->downcall.status;
--
2.17.1
Powered by blists - more mailing lists