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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to