gss_pipe
struct gss_pipe *p = container_of(kref, struct gss_pipe, kref);
struct gss_pipe *gss_pipe[2];
static void gss_pipe_free(struct gss_pipe *p)
struct gss_pipe *gss_pipe;
gss_pipe = gss_pipe_get(clnt, "gssd", &gss_upcall_ops_v1);
if (IS_ERR(gss_pipe)) {
err = PTR_ERR(gss_pipe);
gss_auth->gss_pipe[1] = gss_pipe;
gss_pipe = gss_pipe_get(clnt, gss_auth->mech->gm_name,
if (IS_ERR(gss_pipe)) {
err = PTR_ERR(gss_pipe);
gss_auth->gss_pipe[0] = gss_pipe;
gss_pipe_free(gss_auth->gss_pipe[1]);
gss_pipe_free(gss_auth->gss_pipe[0]);
gss_pipe_free(gss_auth->gss_pipe[1]);
gss_pipe_free(gss_auth->gss_pipe[0]);
gss_auth->gss_pipe[0] = NULL;
gss_pipe_free(gss_auth->gss_pipe[1]);
gss_auth->gss_pipe[1] = NULL;
gss_msg->pipe = gss_auth->gss_pipe[vers]->pipe;
struct gss_pipe *gss_pipe = pdo->pdo_data;
rpc_unlink(gss_pipe->pipe);
struct gss_pipe *p = pdo->pdo_data;
static struct gss_pipe *gss_pipe_alloc(struct rpc_clnt *clnt,
struct gss_pipe *p;
struct gss_pipe *gss_pipe;
gss_pipe = container_of(pdo, struct gss_pipe, pdo);
if (strcmp(gss_pipe->name, args->name) != 0)
if (!kref_get_unless_zero(&gss_pipe->kref))
struct gss_pipe *gss_pipe;
gss_pipe = gss_pipe_alloc(args->clnt, args->name, args->upcall_ops);
if (!IS_ERR(gss_pipe))
return &gss_pipe->pdo;
static struct gss_pipe *gss_pipe_get(struct rpc_clnt *clnt,
return container_of(pdo, struct gss_pipe, pdo);
static void __gss_pipe_free(struct gss_pipe *p)