svn commit: r197584 - head/sys/rpc/rpcsec_gss
John Baldwin
jhb at freebsd.org
Mon Sep 28 19:11:33 UTC 2009
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
More information about the svn-src-all
mailing list