Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Sep 2009 15:11:24 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Jamie Gritton <jamie@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r197584 - head/sys/rpc/rpcsec_gss
Message-ID:  <200909281511.25338.jhb@freebsd.org>
In-Reply-To: <200909281855.n8SItTDF062998@svn.freebsd.org>
References:  <200909281855.n8SItTDF062998@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 28 September 2009 2:55:29 pm Jamie Gritton wrote:
> Author: jamie
> Date: Mon Sep 28 18:55:29 2009
> New Revision: 197584
> URL: http://svn.freebsd.org/changeset/base/197584
> 
> Log:
>   Set the prison in NFS anon and GSS SVC creds (as I indended to in 
r197581).
>   
>   Reviewed by:	marcel
> 
> Modified:
>   head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
> 
> Modified: head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
> 
==============================================================================
> --- head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c	Mon Sep 28 18:54:26 2009	
(r197583)
> +++ head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c	Mon Sep 28 18:55:29 2009	
(r197584)
> @@ -449,6 +449,8 @@ rpc_gss_svc_getcred(struct svc_req *req,
>  	cr->cr_uid = cr->cr_ruid = cr->cr_svuid = uc->uid;
>  	cr->cr_rgid = cr->cr_svgid = uc->gid;
>  	crsetgroups(cr, uc->gidlen, uc->gidlist);
> +	cr->cr_prison = &prison0;
> +	prison_hold(cr->cr_prison);
>  	*crp = crhold(cr);
>  
>  	return (TRUE);

FYI, it would be nice if prison_hold() returned a pointer to the prison as you 
can then do what crhold() does above:

	cr->cr_prison = prison_hold(&prison0);

I prefer combining the refcount and assignment into one step with the goal of 
avoiding outright assignments that don't go via foo_hold() or fooref() for 
refcounted objects.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909281511.25338.jhb>