Messages in this thread Patch in this message | | | From | wu000273@umn ... | Subject | [PATCH 2/2] orangefs: fix double-unlock issue in service_operation(). | Date | Fri, 22 May 2020 23:35:51 -0500 |
| |
From: Qiushi Wu <wu000273@umn.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@umn.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
| |