rsci 349 net/sunrpc/auth_gss/svcauth_gss.c static void rsc_free(struct rsc *rsci) rsci 351 net/sunrpc/auth_gss/svcauth_gss.c kfree(rsci->handle.data); rsci 352 net/sunrpc/auth_gss/svcauth_gss.c if (rsci->mechctx) rsci 353 net/sunrpc/auth_gss/svcauth_gss.c gss_delete_sec_context(&rsci->mechctx); rsci 354 net/sunrpc/auth_gss/svcauth_gss.c free_svc_cred(&rsci->cred); rsci 359 net/sunrpc/auth_gss/svcauth_gss.c struct rsc *rsci = container_of(head, struct rsc, rcu_head); rsci 361 net/sunrpc/auth_gss/svcauth_gss.c kfree(rsci->handle.data); rsci 362 net/sunrpc/auth_gss/svcauth_gss.c kfree(rsci); rsci 367 net/sunrpc/auth_gss/svcauth_gss.c struct rsc *rsci = container_of(ref, struct rsc, h.ref); rsci 369 net/sunrpc/auth_gss/svcauth_gss.c if (rsci->mechctx) rsci 370 net/sunrpc/auth_gss/svcauth_gss.c gss_delete_sec_context(&rsci->mechctx); rsci 371 net/sunrpc/auth_gss/svcauth_gss.c free_svc_cred(&rsci->cred); rsci 372 net/sunrpc/auth_gss/svcauth_gss.c call_rcu(&rsci->rcu_head, rsc_free_rcu); rsci 376 net/sunrpc/auth_gss/svcauth_gss.c rsc_hash(struct rsc *rsci) rsci 378 net/sunrpc/auth_gss/svcauth_gss.c return hash_mem(rsci->handle.data, rsci->handle.len, RSC_HASHBITS); rsci 421 net/sunrpc/auth_gss/svcauth_gss.c struct rsc *rsci = kmalloc(sizeof(*rsci), GFP_KERNEL); rsci 422 net/sunrpc/auth_gss/svcauth_gss.c if (rsci) rsci 423 net/sunrpc/auth_gss/svcauth_gss.c return &rsci->h; rsci 435 net/sunrpc/auth_gss/svcauth_gss.c struct rsc rsci, *rscp = NULL; rsci 440 net/sunrpc/auth_gss/svcauth_gss.c memset(&rsci, 0, sizeof(rsci)); rsci 445 net/sunrpc/auth_gss/svcauth_gss.c if (dup_to_netobj(&rsci.handle, buf, len)) rsci 448 net/sunrpc/auth_gss/svcauth_gss.c rsci.h.flags = 0; rsci 455 net/sunrpc/auth_gss/svcauth_gss.c rscp = rsc_lookup(cd, &rsci); rsci 464 net/sunrpc/auth_gss/svcauth_gss.c set_bit(CACHE_NEGATIVE, &rsci.h.flags); rsci 477 net/sunrpc/auth_gss/svcauth_gss.c rsci.cred.cr_uid = make_kuid(current_user_ns(), id); rsci 482 net/sunrpc/auth_gss/svcauth_gss.c rsci.cred.cr_gid = make_kgid(current_user_ns(), id); rsci 490 net/sunrpc/auth_gss/svcauth_gss.c rsci.cred.cr_group_info = groups_alloc(N); rsci 491 net/sunrpc/auth_gss/svcauth_gss.c if (rsci.cred.cr_group_info == NULL) rsci 503 net/sunrpc/auth_gss/svcauth_gss.c rsci.cred.cr_group_info->gid[i] = kgid; rsci 505 net/sunrpc/auth_gss/svcauth_gss.c groups_sort(rsci.cred.cr_group_info); rsci 511 net/sunrpc/auth_gss/svcauth_gss.c gm = rsci.cred.cr_gss_mech = gss_mech_get_by_name(buf); rsci 521 net/sunrpc/auth_gss/svcauth_gss.c status = gss_import_sec_context(buf, len, gm, &rsci.mechctx, rsci 529 net/sunrpc/auth_gss/svcauth_gss.c rsci.cred.cr_principal = kstrdup(buf, GFP_KERNEL); rsci 530 net/sunrpc/auth_gss/svcauth_gss.c if (!rsci.cred.cr_principal) { rsci 537 net/sunrpc/auth_gss/svcauth_gss.c rsci.h.expiry_time = expiry; rsci 538 net/sunrpc/auth_gss/svcauth_gss.c rscp = rsc_update(cd, &rsci, rscp); rsci 541 net/sunrpc/auth_gss/svcauth_gss.c rsc_free(&rsci); rsci 590 net/sunrpc/auth_gss/svcauth_gss.c struct rsc rsci; rsci 593 net/sunrpc/auth_gss/svcauth_gss.c memset(&rsci, 0, sizeof(rsci)); rsci 594 net/sunrpc/auth_gss/svcauth_gss.c if (dup_to_netobj(&rsci.handle, handle->data, handle->len)) rsci 596 net/sunrpc/auth_gss/svcauth_gss.c found = rsc_lookup(cd, &rsci); rsci 597 net/sunrpc/auth_gss/svcauth_gss.c rsc_free(&rsci); rsci 607 net/sunrpc/auth_gss/svcauth_gss.c gss_check_seq_num(struct rsc *rsci, int seq_num) rsci 609 net/sunrpc/auth_gss/svcauth_gss.c struct gss_svc_seq_data *sd = &rsci->seqdata; rsci 681 net/sunrpc/auth_gss/svcauth_gss.c gss_verify_header(struct svc_rqst *rqstp, struct rsc *rsci, rsci 684 net/sunrpc/auth_gss/svcauth_gss.c struct gss_ctx *ctx_id = rsci->mechctx; rsci 718 net/sunrpc/auth_gss/svcauth_gss.c if (!gss_check_seq_num(rsci, gc->gc_seq)) { rsci 977 net/sunrpc/auth_gss/svcauth_gss.c struct rsc *rsci; rsci 984 net/sunrpc/auth_gss/svcauth_gss.c struct rsc *rsci = svcdata->rsci; rsci 997 net/sunrpc/auth_gss/svcauth_gss.c rqstp->rq_gssclient = find_gss_auth_domain(rsci->mechctx, gc->gc_svc); rsci 1010 net/sunrpc/auth_gss/svcauth_gss.c struct rsc *rsci; rsci 1015 net/sunrpc/auth_gss/svcauth_gss.c rsci = gss_svc_searchbyctx(cd, out_handle); rsci 1016 net/sunrpc/auth_gss/svcauth_gss.c if (rsci == NULL) { rsci 1020 net/sunrpc/auth_gss/svcauth_gss.c rc = gss_write_verf(rqstp, rsci->mechctx, GSS_SEQ_WIN); rsci 1021 net/sunrpc/auth_gss/svcauth_gss.c cache_put(&rsci->h, cd); rsci 1213 net/sunrpc/auth_gss/svcauth_gss.c struct rsc rsci, *rscp = NULL; rsci 1220 net/sunrpc/auth_gss/svcauth_gss.c memset(&rsci, 0, sizeof(rsci)); rsci 1231 net/sunrpc/auth_gss/svcauth_gss.c if (dup_to_netobj(&rsci.handle, (char *)handle, sizeof(uint64_t))) rsci 1233 net/sunrpc/auth_gss/svcauth_gss.c rscp = rsc_lookup(cd, &rsci); rsci 1247 net/sunrpc/auth_gss/svcauth_gss.c rsci.cred = ud->creds; rsci 1255 net/sunrpc/auth_gss/svcauth_gss.c rsci.cred.cr_gss_mech = gm; rsci 1261 net/sunrpc/auth_gss/svcauth_gss.c gm, &rsci.mechctx, rsci 1270 net/sunrpc/auth_gss/svcauth_gss.c rsci.h.expiry_time = expiry; rsci 1271 net/sunrpc/auth_gss/svcauth_gss.c rscp = rsc_update(cd, &rsci, rscp); rsci 1274 net/sunrpc/auth_gss/svcauth_gss.c rsc_free(&rsci); rsci 1486 net/sunrpc/auth_gss/svcauth_gss.c struct rsc *rsci = NULL; rsci 1502 net/sunrpc/auth_gss/svcauth_gss.c svcdata->rsci = NULL; rsci 1544 net/sunrpc/auth_gss/svcauth_gss.c rsci = gss_svc_searchbyctx(sn->rsc_cache, &gc->gc_ctx); rsci 1545 net/sunrpc/auth_gss/svcauth_gss.c if (!rsci) rsci 1547 net/sunrpc/auth_gss/svcauth_gss.c switch (gss_verify_header(rqstp, rsci, rpcstart, gc, authp)) { rsci 1564 net/sunrpc/auth_gss/svcauth_gss.c if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq)) rsci 1567 net/sunrpc/auth_gss/svcauth_gss.c sunrpc_cache_unhash(sn->rsc_cache, &rsci->h); rsci 1575 net/sunrpc/auth_gss/svcauth_gss.c if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq)) rsci 1577 net/sunrpc/auth_gss/svcauth_gss.c rqstp->rq_cred = rsci->cred; rsci 1578 net/sunrpc/auth_gss/svcauth_gss.c get_group_info(rsci->cred.cr_group_info); rsci 1588 net/sunrpc/auth_gss/svcauth_gss.c gc->gc_seq, rsci->mechctx)) rsci 1597 net/sunrpc/auth_gss/svcauth_gss.c gc->gc_seq, rsci->mechctx)) rsci 1604 net/sunrpc/auth_gss/svcauth_gss.c svcdata->rsci = rsci; rsci 1605 net/sunrpc/auth_gss/svcauth_gss.c cache_get(&rsci->h); rsci 1607 net/sunrpc/auth_gss/svcauth_gss.c rsci->mechctx->mech_type, rsci 1627 net/sunrpc/auth_gss/svcauth_gss.c if (rsci) rsci 1628 net/sunrpc/auth_gss/svcauth_gss.c cache_put(&rsci->h, sn->rsc_cache); rsci 1693 net/sunrpc/auth_gss/svcauth_gss.c if (gss_get_mic(gsd->rsci->mechctx, &integ_buf, &mic)) rsci 1762 net/sunrpc/auth_gss/svcauth_gss.c if (gss_wrap(gsd->rsci->mechctx, offset, resbuf, inpages)) rsci 1822 net/sunrpc/auth_gss/svcauth_gss.c if (gsd->rsci) rsci 1823 net/sunrpc/auth_gss/svcauth_gss.c cache_put(&gsd->rsci->h, sn->rsc_cache); rsci 1824 net/sunrpc/auth_gss/svcauth_gss.c gsd->rsci = NULL;