This is a note to let you know that I've just added the patch titled

    libceph: fix authorizer invalidation

to the 3.4-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     libceph-fix-authorizer-invalidation.patch
and it can be found in the queue-3.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 4b8e8b5d78b8322351d44487c1b76f7e9d3412bc Mon Sep 17 00:00:00 2001
From: Sage Weil <[email protected]>
Date: Mon, 25 Mar 2013 10:25:49 -0700
Subject: libceph: fix authorizer invalidation

From: Sage Weil <[email protected]>

commit 4b8e8b5d78b8322351d44487c1b76f7e9d3412bc upstream.

We were invalidating the authorizer by removing the ticket handler
entirely.  This was effective in inducing us to request a new authorizer,
but in the meantime it mean that any authorizer we generated would get a
new and initialized handler with secret_id=0, which would always be
rejected by the server side with a confusing error message:

 auth: could not find secret_id=0
 cephx: verify_authorizer could not get service secret for service osd 
secret_id=0

Instead, simply clear the validity field.  This will still induce the auth
code to request a new secret, but will let us continue to use the old
ticket in the meantime.  The messenger code will probably continue to fail,
but the exponential backoff will kick in, and eventually the we will get a
new (hopefully more valid) ticket from the mon and be able to continue.

Signed-off-by: Sage Weil <[email protected]>
Reviewed-by: Alex Elder <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 net/ceph/auth_x.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/net/ceph/auth_x.c
+++ b/net/ceph/auth_x.c
@@ -630,7 +630,7 @@ static void ceph_x_invalidate_authorizer
 
        th = get_ticket_handler(ac, peer_type);
        if (!IS_ERR(th))
-               remove_ticket_handler(ac, th);
+               memset(&th->validity, 0, sizeof(th->validity));
 }
 
 


Patches currently in stable-queue which might be from [email protected] are

queue-3.4/libceph-clear-messenger-auth_retry-flag-when-we-authenticate.patch
queue-3.4/ceph-fix-statvfs-fr_size.patch
queue-3.4/libceph-must-hold-mutex-for-reset_changed_osds.patch
queue-3.4/libceph-wrap-auth-methods-in-a-mutex.patch
queue-3.4/libceph-fix-authorizer-invalidation.patch
queue-3.4/libceph-add-update_authorizer-auth-method.patch
queue-3.4/libceph-wrap-auth-ops-in-wrapper-functions.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to