lkml.org 
[lkml]   [2018]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 23/23] SUNRPC discard cr_uid from struct rpc_cred.
    Just use ->cr_cred->fsuid directly.

    Signed-off-by: NeilBrown <neilb@suse.com>
    ---
    include/linux/sunrpc/auth.h | 2 --
    net/sunrpc/auth.c | 1 -
    net/sunrpc/auth_gss/auth_gss.c | 12 ++++++------
    3 files changed, 6 insertions(+), 9 deletions(-)

    diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h
    index 5486082d3d63..eed3cb16ccf1 100644
    --- a/include/linux/sunrpc/auth.h
    +++ b/include/linux/sunrpc/auth.h
    @@ -58,8 +58,6 @@ struct rpc_cred {
    refcount_t cr_count; /* ref count */
    const struct cred *cr_cred;

    - kuid_t cr_uid;
    -
    /* per-flavor data */
    };
    #define RPCAUTH_CRED_NEW 0
    diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c
    index a07a7c59d3a4..1ff9768f5456 100644
    --- a/net/sunrpc/auth.c
    +++ b/net/sunrpc/auth.c
    @@ -655,7 +655,6 @@ rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred,
    cred->cr_ops = ops;
    cred->cr_expire = jiffies;
    cred->cr_cred = get_cred(acred->cred);
    - cred->cr_uid = acred->cred->fsuid;
    }
    EXPORT_SYMBOL_GPL(rpcauth_init_cred);

    diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
    index 4fa1881d31ca..9ab100e3346a 100644
    --- a/net/sunrpc/auth_gss/auth_gss.c
    +++ b/net/sunrpc/auth_gss/auth_gss.c
    @@ -565,7 +565,7 @@ gss_setup_upcall(struct gss_auth *gss_auth, struct rpc_cred *cred)
    struct gss_cred *gss_cred = container_of(cred,
    struct gss_cred, gc_base);
    struct gss_upcall_msg *gss_new, *gss_msg;
    - kuid_t uid = cred->cr_uid;
    + kuid_t uid = cred->cr_cred->fsuid;

    gss_new = gss_alloc_msg(gss_auth, uid, gss_cred->gc_principal);
    if (IS_ERR(gss_new))
    @@ -604,7 +604,7 @@ gss_refresh_upcall(struct rpc_task *task)
    int err = 0;

    dprintk("RPC: %5u %s for uid %u\n",
    - task->tk_pid, __func__, from_kuid(&init_user_ns, cred->cr_uid));
    + task->tk_pid, __func__, from_kuid(&init_user_ns, cred->cr_cred->fsuid));
    gss_msg = gss_setup_upcall(gss_auth, cred);
    if (PTR_ERR(gss_msg) == -EAGAIN) {
    /* XXX: warning on the first, under the assumption we
    @@ -637,7 +637,7 @@ gss_refresh_upcall(struct rpc_task *task)
    out:
    dprintk("RPC: %5u %s for uid %u result %d\n",
    task->tk_pid, __func__,
    - from_kuid(&init_user_ns, cred->cr_uid), err);
    + from_kuid(&init_user_ns, cred->cr_cred->fsuid), err);
    return err;
    }

    @@ -653,7 +653,7 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred)
    int err;

    dprintk("RPC: %s for uid %u\n",
    - __func__, from_kuid(&init_user_ns, cred->cr_uid));
    + __func__, from_kuid(&init_user_ns, cred->cr_cred->fsuid));
    retry:
    err = 0;
    /* if gssd is down, just skip upcalling altogether */
    @@ -701,7 +701,7 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred)
    gss_release_msg(gss_msg);
    out:
    dprintk("RPC: %s for uid %u result %d\n",
    - __func__, from_kuid(&init_user_ns, cred->cr_uid), err);
    + __func__, from_kuid(&init_user_ns, cred->cr_cred->fsuid), err);
    return err;
    }

    @@ -1497,7 +1497,7 @@ gss_match(struct auth_cred *acred, struct rpc_cred *rc, int flags)
    } else {
    if (gss_cred->gc_principal != NULL)
    return 0;
    - ret = uid_eq(rc->cr_uid, acred->cred->fsuid);
    + ret = uid_eq(rc->cr_cred->fsuid, acred->cred->fsuid);
    }
    return ret;
    }

    \
     
     \ /
      Last update: 2018-11-07 05:16    [W:4.148 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site