cred: simpler, 1D supplementary groups
[cascardo/linux.git] / net / sunrpc / svcauth_unix.c
index dfacdc9..64af4f0 100644 (file)
@@ -517,7 +517,7 @@ static int unix_gid_parse(struct cache_detail *cd,
                kgid = make_kgid(&init_user_ns, gid);
                if (!gid_valid(kgid))
                        goto out;
-               GROUP_AT(ug.gi, i) = kgid;
+               ug.gi->gid[i] = kgid;
        }
 
        ugp = unix_gid_lookup(cd, uid);
@@ -564,7 +564,7 @@ static int unix_gid_show(struct seq_file *m,
 
        seq_printf(m, "%u %d:", from_kuid_munged(user_ns, ug->uid), glen);
        for (i = 0; i < glen; i++)
-               seq_printf(m, " %d", from_kgid_munged(user_ns, GROUP_AT(ug->gi, i)));
+               seq_printf(m, " %d", from_kgid_munged(user_ns, ug->gi->gid[i]));
        seq_printf(m, "\n");
        return 0;
 }
@@ -817,7 +817,7 @@ svcauth_unix_accept(struct svc_rqst *rqstp, __be32 *authp)
                return SVC_CLOSE;
        for (i = 0; i < slen; i++) {
                kgid_t kgid = make_kgid(&init_user_ns, svc_getnl(argv));
-               GROUP_AT(cred->cr_group_info, i) = kgid;
+               cred->cr_group_info->gid[i] = kgid;
        }
        if (svc_getu32(argv) != htonl(RPC_AUTH_NULL) || svc_getu32(argv) != 0) {
                *authp = rpc_autherr_badverf;