From: Ilya Dryomov Date: Fri, 2 Dec 2016 15:35:09 +0000 (+0100) Subject: libceph: no need to drop con->mutex for ->get_authorizer() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b3bbd3f2ab19c8ca319003b4b51ce4c4ca74da06;p=linux-beck.git libceph: no need to drop con->mutex for ->get_authorizer() ->get_authorizer(), ->verify_authorizer_reply(), ->sign_message() and ->check_message_signature() shouldn't be doing anything with or on the connection (like closing it or sending messages). Signed-off-by: Ilya Dryomov Reviewed-by: Sage Weil --- diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index dba380429a05..770c52701efa 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -1393,15 +1393,9 @@ static struct ceph_auth_handshake *get_connect_authorizer(struct ceph_connection return NULL; } - /* Can't hold the mutex while getting authorizer */ - mutex_unlock(&con->mutex); auth = con->ops->get_authorizer(con, auth_proto, con->auth_retry); - mutex_lock(&con->mutex); - if (IS_ERR(auth)) return auth; - if (con->state != CON_STATE_NEGOTIATING) - return ERR_PTR(-EAGAIN); con->auth_reply_buf = auth->authorizer_reply_buf; con->auth_reply_buf_len = auth->authorizer_reply_buf_len;