gss_cred
const struct gss_cred *gc
const struct gss_cred *gc \
static struct gss_cred *
gss_dup_cred(struct gss_auth *gss_auth, struct gss_cred *gss_cred)
struct gss_cred *new;
new = kzalloc_obj(*gss_cred);
.cred = gss_cred->gc_base.cr_cred,
rcu_dereference_protected(gss_cred->gc_ctx, 1);
new->gc_service = gss_cred->gc_service;
new->gc_principal = gss_cred->gc_principal;
struct gss_cred *gss_cred = container_of(cred, struct gss_cred, gc_base);
struct gss_cl_ctx *ctx = rcu_dereference_protected(gss_cred->gc_ctx, 1);
struct gss_cred *new;
new = gss_dup_cred(gss_auth, gss_cred);
trace_rpcgss_ctx_destroy(gss_cred);
gss_free_cred(struct gss_cred *gss_cred)
kfree(gss_cred);
struct gss_cred *gss_cred = container_of(head, struct gss_cred, gc_base.cr_rcu);
gss_free_cred(gss_cred);
struct gss_cred *gss_cred = container_of(cred, struct gss_cred, gc_base);
struct gss_cl_ctx *ctx = rcu_dereference_protected(gss_cred->gc_ctx, 1);
RCU_INIT_POINTER(gss_cred->gc_ctx, NULL);
struct gss_cred *gss_cred = container_of(cred, struct gss_cred, gc_base);
struct gss_cred *cred = NULL;
struct gss_cred *gss_cred = container_of(cred,struct gss_cred, gc_base);
err = gss_create_upcall(gss_auth, gss_cred);
struct gss_cred *gss_cred = container_of(cred, struct gss_cred, gc_base);
rcu_assign_pointer(gss_cred->gc_ctx, ctx);
ctx = rcu_dereference(gss_cred->gc_ctx);
ctx = rcu_dereference(gss_cred->gc_ctx);
struct gss_cred *gss_cred = container_of(rc, struct gss_cred, gc_base);
ctx = rcu_dereference(gss_cred->gc_ctx);
struct gss_cred *gss_cred = container_of(rc, struct gss_cred, gc_base);
ctx = rcu_dereference(gss_cred->gc_ctx);
struct gss_cred *gss_cred = container_of(cred, struct gss_cred, gc_base);
if (gss_cred->gc_principal == NULL)
ret = strcmp(acred->principal, gss_cred->gc_principal) == 0;
if (gss_cred->gc_principal != NULL)
struct gss_cred *gss_cred = container_of(cred, struct gss_cred,
ctx = rcu_dereference(gss_cred->gc_ctx);
*p++ = cpu_to_be32(gss_cred->gc_service);
struct gss_cred *gss_cred = container_of(oldcred,
struct gss_cred,
.principal = gss_cred->gc_principal,
struct gss_cred *gss_cred;
gss_cred = container_of(cred, struct gss_cred, gc_base);
begin = gss_cred->gc_upcall_timestamp;
struct gss_cred *gss_cred = container_of(cred, struct gss_cred,
switch (gss_cred->gc_service) {
struct gss_cred *gss_cred = container_of(cred, struct gss_cred,
switch (gss_cred->gc_service) {
gss_handle_downcall_result(struct gss_cred *gss_cred, struct gss_upcall_msg *gss_msg)
clear_bit(RPCAUTH_CRED_NEGATIVE, &gss_cred->gc_base.cr_flags);
gss_cred_set_ctx(&gss_cred->gc_base, gss_msg->ctx);
set_bit(RPCAUTH_CRED_NEGATIVE, &gss_cred->gc_base.cr_flags);
gss_cred->gc_upcall_timestamp = jiffies;
gss_cred->gc_upcall = NULL;
struct gss_cred *gss_cred = container_of(task->tk_rqstp->rq_cred,
struct gss_cred, gc_base);
struct gss_upcall_msg *gss_msg = gss_cred->gc_upcall;
gss_handle_downcall_result(gss_cred, gss_msg);
struct gss_cred *gss_cred = container_of(cred,
struct gss_cred, gc_base);
gss_new = gss_alloc_msg(gss_auth, uid, gss_cred->gc_principal);
struct gss_cred *gss_cred = container_of(cred,
struct gss_cred, gc_base);
if (gss_cred->gc_upcall != NULL)
rpc_sleep_on(&gss_cred->gc_upcall->rpc_waitqueue, task, NULL);
gss_cred->gc_upcall = gss_msg;
gss_handle_downcall_result(gss_cred, gss_msg);
gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred)
struct rpc_cred *cred = &gss_cred->gc_base;
trace_rpcgss_ctx_init(gss_cred);