gss_msg           310 net/sunrpc/auth_gss/auth_gss.c gss_release_msg(struct gss_upcall_msg *gss_msg)
gss_msg           312 net/sunrpc/auth_gss/auth_gss.c 	struct net *net = gss_msg->auth->net;
gss_msg           313 net/sunrpc/auth_gss/auth_gss.c 	if (!refcount_dec_and_test(&gss_msg->count))
gss_msg           316 net/sunrpc/auth_gss/auth_gss.c 	BUG_ON(!list_empty(&gss_msg->list));
gss_msg           317 net/sunrpc/auth_gss/auth_gss.c 	if (gss_msg->ctx != NULL)
gss_msg           318 net/sunrpc/auth_gss/auth_gss.c 		gss_put_ctx(gss_msg->ctx);
gss_msg           319 net/sunrpc/auth_gss/auth_gss.c 	rpc_destroy_wait_queue(&gss_msg->rpc_waitqueue);
gss_msg           320 net/sunrpc/auth_gss/auth_gss.c 	gss_put_auth(gss_msg->auth);
gss_msg           321 net/sunrpc/auth_gss/auth_gss.c 	kfree_const(gss_msg->service_name);
gss_msg           322 net/sunrpc/auth_gss/auth_gss.c 	kfree(gss_msg);
gss_msg           345 net/sunrpc/auth_gss/auth_gss.c gss_add_msg(struct gss_upcall_msg *gss_msg)
gss_msg           347 net/sunrpc/auth_gss/auth_gss.c 	struct rpc_pipe *pipe = gss_msg->pipe;
gss_msg           351 net/sunrpc/auth_gss/auth_gss.c 	old = __gss_find_upcall(pipe, gss_msg->uid, gss_msg->auth);
gss_msg           353 net/sunrpc/auth_gss/auth_gss.c 		refcount_inc(&gss_msg->count);
gss_msg           354 net/sunrpc/auth_gss/auth_gss.c 		list_add(&gss_msg->list, &pipe->in_downcall);
gss_msg           356 net/sunrpc/auth_gss/auth_gss.c 		gss_msg = old;
gss_msg           358 net/sunrpc/auth_gss/auth_gss.c 	return gss_msg;
gss_msg           362 net/sunrpc/auth_gss/auth_gss.c __gss_unhash_msg(struct gss_upcall_msg *gss_msg)
gss_msg           364 net/sunrpc/auth_gss/auth_gss.c 	list_del_init(&gss_msg->list);
gss_msg           365 net/sunrpc/auth_gss/auth_gss.c 	rpc_wake_up_status(&gss_msg->rpc_waitqueue, gss_msg->msg.errno);
gss_msg           366 net/sunrpc/auth_gss/auth_gss.c 	wake_up_all(&gss_msg->waitqueue);
gss_msg           367 net/sunrpc/auth_gss/auth_gss.c 	refcount_dec(&gss_msg->count);
gss_msg           371 net/sunrpc/auth_gss/auth_gss.c gss_unhash_msg(struct gss_upcall_msg *gss_msg)
gss_msg           373 net/sunrpc/auth_gss/auth_gss.c 	struct rpc_pipe *pipe = gss_msg->pipe;
gss_msg           375 net/sunrpc/auth_gss/auth_gss.c 	if (list_empty(&gss_msg->list))
gss_msg           378 net/sunrpc/auth_gss/auth_gss.c 	if (!list_empty(&gss_msg->list))
gss_msg           379 net/sunrpc/auth_gss/auth_gss.c 		__gss_unhash_msg(gss_msg);
gss_msg           384 net/sunrpc/auth_gss/auth_gss.c gss_handle_downcall_result(struct gss_cred *gss_cred, struct gss_upcall_msg *gss_msg)
gss_msg           386 net/sunrpc/auth_gss/auth_gss.c 	switch (gss_msg->msg.errno) {
gss_msg           388 net/sunrpc/auth_gss/auth_gss.c 		if (gss_msg->ctx == NULL)
gss_msg           391 net/sunrpc/auth_gss/auth_gss.c 		gss_cred_set_ctx(&gss_cred->gc_base, gss_msg->ctx);
gss_msg           398 net/sunrpc/auth_gss/auth_gss.c 	rpc_wake_up_status(&gss_msg->rpc_waitqueue, gss_msg->msg.errno);
gss_msg           406 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg = gss_cred->gc_upcall;
gss_msg           407 net/sunrpc/auth_gss/auth_gss.c 	struct rpc_pipe *pipe = gss_msg->pipe;
gss_msg           410 net/sunrpc/auth_gss/auth_gss.c 	gss_handle_downcall_result(gss_cred, gss_msg);
gss_msg           412 net/sunrpc/auth_gss/auth_gss.c 	task->tk_status = gss_msg->msg.errno;
gss_msg           413 net/sunrpc/auth_gss/auth_gss.c 	gss_release_msg(gss_msg);
gss_msg           416 net/sunrpc/auth_gss/auth_gss.c static void gss_encode_v0_msg(struct gss_upcall_msg *gss_msg,
gss_msg           421 net/sunrpc/auth_gss/auth_gss.c 	uid_t uid = from_kuid_munged(userns, gss_msg->uid);
gss_msg           422 net/sunrpc/auth_gss/auth_gss.c 	memcpy(gss_msg->databuf, &uid, sizeof(uid));
gss_msg           423 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->msg.data = gss_msg->databuf;
gss_msg           424 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->msg.len = sizeof(uid);
gss_msg           426 net/sunrpc/auth_gss/auth_gss.c 	BUILD_BUG_ON(sizeof(uid) > sizeof(gss_msg->databuf));
gss_msg           433 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg = container_of(msg,
gss_msg           437 net/sunrpc/auth_gss/auth_gss.c 		gss_encode_v0_msg(gss_msg, file->f_cred);
gss_msg           441 net/sunrpc/auth_gss/auth_gss.c static int gss_encode_v1_msg(struct gss_upcall_msg *gss_msg,
gss_msg           447 net/sunrpc/auth_gss/auth_gss.c 	struct gss_api_mech *mech = gss_msg->auth->mech;
gss_msg           448 net/sunrpc/auth_gss/auth_gss.c 	char *p = gss_msg->databuf;
gss_msg           449 net/sunrpc/auth_gss/auth_gss.c 	size_t buflen = sizeof(gss_msg->databuf);
gss_msg           453 net/sunrpc/auth_gss/auth_gss.c 			from_kuid_munged(userns, gss_msg->uid));
gss_msg           456 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->msg.len = len;
gss_msg           466 net/sunrpc/auth_gss/auth_gss.c 		gss_msg->msg.len += len;
gss_msg           492 net/sunrpc/auth_gss/auth_gss.c 		gss_msg->msg.len += len;
gss_msg           500 net/sunrpc/auth_gss/auth_gss.c 		gss_msg->msg.len += len;
gss_msg           502 net/sunrpc/auth_gss/auth_gss.c 	trace_rpcgss_upcall_msg(gss_msg->databuf);
gss_msg           506 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->msg.len += len;
gss_msg           507 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->msg.data = gss_msg->databuf;
gss_msg           518 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg = container_of(msg,
gss_msg           523 net/sunrpc/auth_gss/auth_gss.c 		err = gss_encode_v1_msg(gss_msg,
gss_msg           524 net/sunrpc/auth_gss/auth_gss.c 					gss_msg->service_name,
gss_msg           525 net/sunrpc/auth_gss/auth_gss.c 					gss_msg->auth->target_name,
gss_msg           537 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg;
gss_msg           541 net/sunrpc/auth_gss/auth_gss.c 	gss_msg = kzalloc(sizeof(*gss_msg), GFP_NOFS);
gss_msg           542 net/sunrpc/auth_gss/auth_gss.c 	if (gss_msg == NULL)
gss_msg           548 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->pipe = gss_auth->gss_pipe[vers]->pipe;
gss_msg           549 net/sunrpc/auth_gss/auth_gss.c 	INIT_LIST_HEAD(&gss_msg->list);
gss_msg           550 net/sunrpc/auth_gss/auth_gss.c 	rpc_init_wait_queue(&gss_msg->rpc_waitqueue, "RPCSEC_GSS upcall waitq");
gss_msg           551 net/sunrpc/auth_gss/auth_gss.c 	init_waitqueue_head(&gss_msg->waitqueue);
gss_msg           552 net/sunrpc/auth_gss/auth_gss.c 	refcount_set(&gss_msg->count, 1);
gss_msg           553 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->uid = uid;
gss_msg           554 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->auth = gss_auth;
gss_msg           557 net/sunrpc/auth_gss/auth_gss.c 		gss_msg->service_name = kstrdup_const(service_name, GFP_NOFS);
gss_msg           558 net/sunrpc/auth_gss/auth_gss.c 		if (!gss_msg->service_name) {
gss_msg           563 net/sunrpc/auth_gss/auth_gss.c 	return gss_msg;
gss_msg           567 net/sunrpc/auth_gss/auth_gss.c 	kfree(gss_msg);
gss_msg           577 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_new, *gss_msg;
gss_msg           583 net/sunrpc/auth_gss/auth_gss.c 	gss_msg = gss_add_msg(gss_new);
gss_msg           584 net/sunrpc/auth_gss/auth_gss.c 	if (gss_msg == gss_new) {
gss_msg           586 net/sunrpc/auth_gss/auth_gss.c 		refcount_inc(&gss_msg->count);
gss_msg           590 net/sunrpc/auth_gss/auth_gss.c 			refcount_dec(&gss_msg->count);
gss_msg           592 net/sunrpc/auth_gss/auth_gss.c 			gss_msg = ERR_PTR(res);
gss_msg           596 net/sunrpc/auth_gss/auth_gss.c 	return gss_msg;
gss_msg           612 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg;
gss_msg           616 net/sunrpc/auth_gss/auth_gss.c 	gss_msg = gss_setup_upcall(gss_auth, cred);
gss_msg           617 net/sunrpc/auth_gss/auth_gss.c 	if (PTR_ERR(gss_msg) == -EAGAIN) {
gss_msg           626 net/sunrpc/auth_gss/auth_gss.c 	if (IS_ERR(gss_msg)) {
gss_msg           627 net/sunrpc/auth_gss/auth_gss.c 		err = PTR_ERR(gss_msg);
gss_msg           630 net/sunrpc/auth_gss/auth_gss.c 	pipe = gss_msg->pipe;
gss_msg           634 net/sunrpc/auth_gss/auth_gss.c 	else if (gss_msg->ctx == NULL && gss_msg->msg.errno >= 0) {
gss_msg           635 net/sunrpc/auth_gss/auth_gss.c 		gss_cred->gc_upcall = gss_msg;
gss_msg           637 net/sunrpc/auth_gss/auth_gss.c 		refcount_inc(&gss_msg->count);
gss_msg           638 net/sunrpc/auth_gss/auth_gss.c 		rpc_sleep_on(&gss_msg->rpc_waitqueue, task, gss_upcall_callback);
gss_msg           640 net/sunrpc/auth_gss/auth_gss.c 		gss_handle_downcall_result(gss_cred, gss_msg);
gss_msg           641 net/sunrpc/auth_gss/auth_gss.c 		err = gss_msg->msg.errno;
gss_msg           644 net/sunrpc/auth_gss/auth_gss.c 	gss_release_msg(gss_msg);
gss_msg           658 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg;
gss_msg           670 net/sunrpc/auth_gss/auth_gss.c 	gss_msg = gss_setup_upcall(gss_auth, cred);
gss_msg           671 net/sunrpc/auth_gss/auth_gss.c 	if (PTR_ERR(gss_msg) == -EAGAIN) {
gss_msg           682 net/sunrpc/auth_gss/auth_gss.c 	if (IS_ERR(gss_msg)) {
gss_msg           683 net/sunrpc/auth_gss/auth_gss.c 		err = PTR_ERR(gss_msg);
gss_msg           686 net/sunrpc/auth_gss/auth_gss.c 	pipe = gss_msg->pipe;
gss_msg           688 net/sunrpc/auth_gss/auth_gss.c 		prepare_to_wait(&gss_msg->waitqueue, &wait, TASK_KILLABLE);
gss_msg           690 net/sunrpc/auth_gss/auth_gss.c 		if (gss_msg->ctx != NULL || gss_msg->msg.errno < 0) {
gss_msg           700 net/sunrpc/auth_gss/auth_gss.c 	if (gss_msg->ctx)
gss_msg           701 net/sunrpc/auth_gss/auth_gss.c 		gss_cred_set_ctx(cred, gss_msg->ctx);
gss_msg           703 net/sunrpc/auth_gss/auth_gss.c 		err = gss_msg->msg.errno;
gss_msg           706 net/sunrpc/auth_gss/auth_gss.c 	finish_wait(&gss_msg->waitqueue, &wait);
gss_msg           707 net/sunrpc/auth_gss/auth_gss.c 	gss_release_msg(gss_msg);
gss_msg           721 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg;
gss_msg           760 net/sunrpc/auth_gss/auth_gss.c 	gss_msg = __gss_find_upcall(pipe, uid, NULL);
gss_msg           761 net/sunrpc/auth_gss/auth_gss.c 	if (gss_msg == NULL) {
gss_msg           765 net/sunrpc/auth_gss/auth_gss.c 	list_del_init(&gss_msg->list);
gss_msg           768 net/sunrpc/auth_gss/auth_gss.c 	p = gss_fill_context(p, end, ctx, gss_msg->auth->mech);
gss_msg           774 net/sunrpc/auth_gss/auth_gss.c 			gss_msg->msg.errno = err;
gss_msg           781 net/sunrpc/auth_gss/auth_gss.c 			gss_msg->msg.errno = -EAGAIN;
gss_msg           786 net/sunrpc/auth_gss/auth_gss.c 			gss_msg->msg.errno = -EIO;
gss_msg           790 net/sunrpc/auth_gss/auth_gss.c 	gss_msg->ctx = gss_get_ctx(ctx);
gss_msg           795 net/sunrpc/auth_gss/auth_gss.c 	__gss_unhash_msg(gss_msg);
gss_msg           797 net/sunrpc/auth_gss/auth_gss.c 	gss_release_msg(gss_msg);
gss_msg           845 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg;
gss_msg           849 net/sunrpc/auth_gss/auth_gss.c 	list_for_each_entry(gss_msg, &pipe->in_downcall, list) {
gss_msg           851 net/sunrpc/auth_gss/auth_gss.c 		if (!list_empty(&gss_msg->msg.list))
gss_msg           853 net/sunrpc/auth_gss/auth_gss.c 		gss_msg->msg.errno = -EPIPE;
gss_msg           854 net/sunrpc/auth_gss/auth_gss.c 		refcount_inc(&gss_msg->count);
gss_msg           855 net/sunrpc/auth_gss/auth_gss.c 		__gss_unhash_msg(gss_msg);
gss_msg           857 net/sunrpc/auth_gss/auth_gss.c 		gss_release_msg(gss_msg);
gss_msg           868 net/sunrpc/auth_gss/auth_gss.c 	struct gss_upcall_msg *gss_msg = container_of(msg, struct gss_upcall_msg, msg);
gss_msg           871 net/sunrpc/auth_gss/auth_gss.c 		refcount_inc(&gss_msg->count);
gss_msg           872 net/sunrpc/auth_gss/auth_gss.c 		gss_unhash_msg(gss_msg);
gss_msg           875 net/sunrpc/auth_gss/auth_gss.c 		gss_release_msg(gss_msg);
gss_msg           877 net/sunrpc/auth_gss/auth_gss.c 	gss_release_msg(gss_msg);