sunrpc: Use userns friendly constants.
authorEric W. Biederman <ebiederm@xmission.com>
Fri, 1 Feb 2013 23:55:38 +0000 (15:55 -0800)
committerEric W. Biederman <ebiederm@xmission.com>
Wed, 13 Feb 2013 14:15:15 +0000 (06:15 -0800)
Instead of (uid_t)0 use GLOBAL_ROOT_UID.
Instead of (gid_t)0 use GLOBAL_ROOT_GID.
Instead of (uid_t)-1 use INVALID_UID
Instead of (gid_t)-1 use INVALID_GID.
Instead of NOGROUP use INVALID_GID.

Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
net/sunrpc/auth.c
net/sunrpc/auth_generic.c
net/sunrpc/auth_unix.c
net/sunrpc/svcauth_unix.c

index b5c067b..4cd0ecf 100644 (file)
@@ -519,8 +519,8 @@ rpcauth_bind_root_cred(struct rpc_task *task, int lookupflags)
 {
        struct rpc_auth *auth = task->tk_client->cl_auth;
        struct auth_cred acred = {
-               .uid = 0,
-               .gid = 0,
+               .uid = GLOBAL_ROOT_UID,
+               .gid = GLOBAL_ROOT_GID,
        };
 
        dprintk("RPC: %5u looking up %s cred\n",
index 6ed6f20..9d2e0b0 100644 (file)
@@ -18,8 +18,8 @@
 # define RPCDBG_FACILITY       RPCDBG_AUTH
 #endif
 
-#define RPC_MACHINE_CRED_USERID                ((uid_t)0)
-#define RPC_MACHINE_CRED_GROUPID       ((gid_t)0)
+#define RPC_MACHINE_CRED_USERID                GLOBAL_ROOT_UID
+#define RPC_MACHINE_CRED_GROUPID       GLOBAL_ROOT_GID
 
 struct generic_cred {
        struct rpc_cred gc_base;
index 52c5abd..2f86270 100644 (file)
@@ -85,7 +85,7 @@ unx_create_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags)
                cred->uc_gids[i] = gid;
        }
        if (i < NFS_NGROUPS)
-               cred->uc_gids[i] = NOGROUP;
+               cred->uc_gids[i] = INVALID_GID;
 
        return &cred->uc_base;
 }
@@ -137,7 +137,7 @@ unx_match(struct auth_cred *acred, struct rpc_cred *rcred, int flags)
                        return 0;
        }
        if (groups < NFS_NGROUPS &&
-           cred->uc_gids[groups] != NOGROUP)
+           cred->uc_gids[groups] != INVALID_GID)
                return 0;
        return 1;
 }
@@ -166,7 +166,7 @@ unx_marshal(struct rpc_task *task, __be32 *p)
        *p++ = htonl((u32) cred->uc_uid);
        *p++ = htonl((u32) cred->uc_gid);
        hold = p++;
-       for (i = 0; i < 16 && cred->uc_gids[i] != (gid_t) NOGROUP; i++)
+       for (i = 0; i < 16 && cred->uc_gids[i] != INVALID_GID; i++)
                *p++ = htonl((u32) cred->uc_gids[i]);
        *hold = htonl(p - hold - 1);            /* gid array length */
        *base = htonl((p - base - 1) << 2);     /* cred length */
index 4d01292..c8cb5dc 100644 (file)
@@ -750,8 +750,8 @@ svcauth_null_accept(struct svc_rqst *rqstp, __be32 *authp)
        }
 
        /* Signal that mapping to nobody uid/gid is required */
-       cred->cr_uid = (uid_t) -1;
-       cred->cr_gid = (gid_t) -1;
+       cred->cr_uid = INVALID_UID;
+       cred->cr_gid = INVALID_GID;
        cred->cr_group_info = groups_alloc(0);
        if (cred->cr_group_info == NULL)
                return SVC_CLOSE; /* kmalloc failure - client must retry */