Lines Matching refs:gss_auth
72 struct gss_auth {
253 struct gss_auth *auth;
441 gss_alloc_msg(struct gss_auth *gss_auth, uid_t uid, struct rpc_clnt *clnt,
455 gss_msg->inode = RPC_I(gss_auth->dentry[vers]->d_inode);
461 gss_msg->auth = gss_auth;
467 gss_setup_upcall(struct rpc_clnt *clnt, struct gss_auth *gss_auth, struct rpc_cred *cred)
474 gss_new = gss_alloc_msg(gss_auth, uid, clnt, gss_cred->gc_machine_cred);
506 struct gss_auth *gss_auth = container_of(cred->cr_auth,
507 struct gss_auth, rpc_auth);
516 gss_msg = gss_setup_upcall(task->tk_client, gss_auth, cred);
550 gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred)
560 gss_msg = gss_setup_upcall(gss_auth->client, gss_auth, cred);
787 struct gss_auth *gss_auth;
795 if (!(gss_auth = kmalloc(sizeof(*gss_auth), GFP_KERNEL)))
797 gss_auth->client = clnt;
799 gss_auth->mech = gss_mech_get_by_pseudoflavor(flavor);
800 if (!gss_auth->mech) {
805 gss_auth->service = gss_pseudoflavor_to_service(gss_auth->mech, flavor);
806 if (gss_auth->service == 0)
808 auth = &gss_auth->rpc_auth;
814 kref_init(&gss_auth->kref);
822 gss_auth->dentry[1] = rpc_mkpipe(clnt->cl_path.dentry,
826 if (IS_ERR(gss_auth->dentry[1])) {
827 err = PTR_ERR(gss_auth->dentry[1]);
831 gss_auth->dentry[0] = rpc_mkpipe(clnt->cl_path.dentry,
832 gss_auth->mech->gm_name,
835 if (IS_ERR(gss_auth->dentry[0])) {
836 err = PTR_ERR(gss_auth->dentry[0]);
845 rpc_unlink(gss_auth->dentry[0]);
847 rpc_unlink(gss_auth->dentry[1]);
849 gss_mech_put(gss_auth->mech);
851 kfree(gss_auth);
858 gss_free(struct gss_auth *gss_auth)
860 rpc_unlink(gss_auth->dentry[1]);
861 rpc_unlink(gss_auth->dentry[0]);
862 gss_mech_put(gss_auth->mech);
864 kfree(gss_auth);
871 struct gss_auth *gss_auth = container_of(kref, struct gss_auth, kref);
873 gss_free(gss_auth);
879 struct gss_auth *gss_auth;
886 gss_auth = container_of(auth, struct gss_auth, rpc_auth);
887 kref_put(&gss_auth->kref, gss_free_callback);
900 struct gss_auth *gss_auth = container_of(cred->cr_auth, struct gss_auth, rpc_auth);
914 task = rpc_call_null(gss_auth->client, cred, RPC_TASK_ASYNC|RPC_TASK_SOFT);
966 struct gss_auth *gss_auth = container_of(cred->cr_auth, struct gss_auth, rpc_auth);
973 kref_put(&gss_auth->kref, gss_free_callback);
997 struct gss_auth *gss_auth = container_of(auth, struct gss_auth, rpc_auth);
1013 cred->gc_service = gss_auth->service;
1015 kref_get(&gss_auth->kref);
1026 struct gss_auth *gss_auth = container_of(auth, struct gss_auth, rpc_auth);
1031 err = gss_create_upcall(gss_auth, gss_cred);