return NULL; 
return ERR_PTR(err); 
gss_create(struct rpc_clnt *clnt, rpc_authflavor_t flavor){	struct gss_auth *gss_auth;	struct rpc_auth * auth;	dprintk("RPC:      creating GSS authenticator for client %p\n",clnt);	if (!try_module_get(THIS_MODULE))		return NULL;	if (!(gss_auth = kmalloc(sizeof(*gss_auth), GFP_KERNEL)))		goto out_dec;	gss_auth->client = clnt;	gss_auth->mech = gss_mech_get_by_pseudoflavor(flavor);	if (!gss_auth->mech) {		printk(KERN_WARNING "%s: Pseudoflavor %d not found!",				__FUNCTION__, flavor);		goto err_free;	}	gss_auth->service = gss_pseudoflavor_to_service(gss_auth->mech, flavor);	if (gss_auth->service == 0)		goto err_put_mech;	INIT_LIST_HEAD(&gss_auth->upcalls);	spin_lock_init(&gss_auth->lock);	auth = &gss_auth->rpc_auth;	auth->au_cslack = GSS_CRED_SLACK >> 2;	auth->au_rslack = GSS_VERF_SLACK >> 2;	auth->au_ops = &authgss_ops;	auth->au_flavor = flavor;	atomic_set(&auth->au_count, 1);	if (rpcauth_init_credcache(auth, GSS_CRED_EXPIRE) < 0)		goto err_put_mech;	snprintf(gss_auth->path, sizeof(gss_auth->path), "%s/%s",			clnt->cl_pathname,			gss_auth->mech->gm_name);	gss_auth->dentry = rpc_mkpipe(gss_auth->path, clnt, &gss_upcall_ops, RPC_PIPE_WAIT_FOR_OPEN);	if (IS_ERR(gss_auth->dentry))		goto err_put_mech;	return auth;err_put_mech:	gss_mech_put(gss_auth->mech);err_free:	kfree(gss_auth);out_dec:	module_put(THIS_MODULE);	return NULL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6a19275ada9137435da58990c8f8d3f58e170bf1/auth_gss.c/clean/net/sunrpc/auth_gss/auth_gss.c