Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5e434c98b49f4877ea1614a629499e082b1a818
Commit:     c5e434c98b49f4877ea1614a629499e082b1a818
Parent:     54f9247b3f6e51b24a4b7e873b3ab34d8e59dc45
Author:     Wei Yongjun <[EMAIL PROTECTED]>
AuthorDate: Wed May 9 02:34:54 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Wed May 9 12:30:54 2007 -0700

    knfsd: rpcgss: RPC_GSS_PROC_ DESTROY request will get a bad rpc
    
    If I send a RPC_GSS_PROC_DESTROY message to NFSv4 server, it will reply 
with a
    bad rpc reply which lacks an authentication verifier.  Maybe this patch is
    needed.
    
    Send/recv packets as following:
    
    send:
    
    RemoteProcedureCall
        xid
        rpcvers = 2
        prog = 100003
        vers = 4
        proc = 0
        cred = AUTH_GSS
            version = 1
            gss_proc = 3 (RPCSEC_GSS_DESTROY)
            service  = 1 (RPC_GSS_SVC_NONE)
        verf = AUTH_GSS
            checksum
    
    reply:
    
    RemoteProcedureReply
        xid
        msg_type
        reply_stat
        accepted_reply
    
    Signed-off-by: Wei Yongjun <[EMAIL PROTECTED]>
    Signed-off-by: "J. Bruce Fields" <[EMAIL PROTECTED]>
    Signed-off-by: Neil Brown <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 net/sunrpc/auth_gss/svcauth_gss.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/net/sunrpc/auth_gss/svcauth_gss.c 
b/net/sunrpc/auth_gss/svcauth_gss.c
index 9c0508e..099a983 100644
--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -1092,6 +1092,8 @@ svcauth_gss_accept(struct svc_rqst *rqstp, __be32 *authp)
                }
                goto complete;
        case RPC_GSS_PROC_DESTROY:
+               if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq))
+                       goto auth_err;
                set_bit(CACHE_NEGATIVE, &rsci->h.flags);
                if (resv->iov_len + 4 > PAGE_SIZE)
                        goto drop;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to