| Submitter | Herton Ronaldo Krzesinski |
|---|---|
| Date | Nov. 20, 2012, 5:19 p.m. |
| Message ID | <1353431952-10858-1-git-send-email-herton.krzesinski@canonical.com> |
| Download | mbox | patch |
| Permalink | /patch/200474/ |
| State | New |
| Headers | show |
Comments
Patch
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index feb5a2a..c3b628c 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -2336,7 +2336,6 @@ done_unlocked: return; fault: - mutex_unlock(&con->mutex); ceph_fault(con); /* error/fault path */ goto done_unlocked; } @@ -2347,9 +2346,8 @@ fault: * exponential backoff */ static void ceph_fault(struct ceph_connection *con) + __releases(con->mutex) { - mutex_lock(&con->mutex); - pr_err("%s%lld %s %s\n", ENTITY_NAME(con->peer_name), ceph_pr_addr(&con->peer_addr.in_addr), con->error_msg); dout("fault %p state %lu to peer %s\n",
This is a note to let you know that I have just added a patch titled libceph: avoid dropping con mutex before fault to the linux-3.5.y-queue branch of the 3.5.yuz extended stable tree which can be found at: http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.5.y-queue If you, or anyone else, feels it should not be added to this tree, please reply to this email. For more information about the 3.5.yuz tree, see https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable Thanks. -Herton ------ From 505b1fa5525ad34dd62a04d6b8496a26283cbf0d Mon Sep 17 00:00:00 2001 From: Sage Weil <sage@inktank.com> Date: Mon, 30 Jul 2012 18:17:13 -0700 Subject: [PATCH 66/78] libceph: avoid dropping con mutex before fault commit 8636ea672f0c5ab7478c42c5b6705ebd1db7eb6a upstream. The ceph_fault() function takes the con mutex, so we should avoid dropping it before calling it. This fixes a potential race with another thread calling ceph_con_close(), or _open(), or similar (we don't reverify con->state after retaking the lock). Add annotation so that lockdep realizes we will drop the mutex before returning. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Alex Elder <elder@inktank.com> Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> --- net/ceph/messenger.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- 1.7.9.5