SUNRPC: AUTH_SYS "machine creds" shouldn't use negative valued uid/gid
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 11 May 2008 19:18:51 +0000 (12:18 -0700)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 18 May 2008 18:18:27 +0000 (14:18 -0400)
Apparently this causes Solaris 10 servers to refuse our NFSv4 SETCLIENTID
calls. Fall back to root creds for now, since most servers that care are
very likely to have root squashing enabled.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/auth_generic.c

index d927d9f574121f94d9477cda3670e960f8f147c7..744b79fdcb19dac256b1dea5b26dc6e87f208f07 100644 (file)
@@ -17,8 +17,8 @@
 # define RPCDBG_FACILITY       RPCDBG_AUTH
 #endif
 
-#define RPC_ANONYMOUS_USERID   ((uid_t)-2)
-#define RPC_ANONYMOUS_GROUPID  ((gid_t)-2)
+#define RPC_MACHINE_CRED_USERID                ((uid_t)0)
+#define RPC_MACHINE_CRED_GROUPID       ((gid_t)0)
 
 struct generic_cred {
        struct rpc_cred gc_base;
@@ -44,8 +44,8 @@ EXPORT_SYMBOL_GPL(rpc_lookup_cred);
 struct rpc_cred *rpc_lookup_machine_cred(void)
 {
        struct auth_cred acred = {
-               .uid = RPC_ANONYMOUS_USERID,
-               .gid = RPC_ANONYMOUS_GROUPID,
+               .uid = RPC_MACHINE_CRED_USERID,
+               .gid = RPC_MACHINE_CRED_GROUPID,
                .machine_cred = 1,
        };