Date: Wed, 23 Oct 2013 17:13:07 +0000 (UTC) From: Will Andrews <will@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r256991 - in projects/vps/sys: kern rpc Message-ID: <201310231713.r9NHD7gc064675@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: will Date: Wed Oct 23 17:13:07 2013 New Revision: 256991 URL: http://svnweb.freebsd.org/changeset/base/256991 Log: Sync with svn.7he.at/vps/trunk r192. r192 | klaus | 2013-07-18 06:18:16 -0600 (Thu, 18 Jul 2013) | 3 lines Fixed missing ucred->cr_vps pointers for nfs server. Submitted by: Klaus P. Ohrhallinger <k@7he.at> Modified: projects/vps/sys/kern/kern_prot.c projects/vps/sys/kern/vfs_export.c projects/vps/sys/rpc/svc_auth.c Modified: projects/vps/sys/kern/kern_prot.c ============================================================================== --- projects/vps/sys/kern/kern_prot.c Wed Oct 23 17:11:52 2013 (r256990) +++ projects/vps/sys/kern/kern_prot.c Wed Oct 23 17:13:07 2013 (r256991) @@ -1863,8 +1863,11 @@ crfree(struct ucred *cr) struct vps *vps_save; vps_save = curthread->td_vps; - KASSERT(cr->cr_vps != NULL, ("%s: cr->cr_vps == NULL", __func__)); - KASSERT((cr->cr_ref & 0xffff0000) != 0xdead0000, ("dangling reference to ucred 2: cr=%p cr_ref=%08x", cr, cr->cr_ref)); + KASSERT(cr->cr_vps != NULL, + ("%s: cr->cr_vps == NULL, cr=%p", __func__, cr)); + KASSERT((cr->cr_ref & 0xffff0000) != 0xdead0000, + ("%s: dangling reference to ucred 2: cr=%p cr_ref=%08x", + __func__, cr, cr->cr_ref)); #endif KASSERT(cr->cr_ref > 0, ("bad ucred refcount: %d", cr->cr_ref)); Modified: projects/vps/sys/kern/vfs_export.c ============================================================================== --- projects/vps/sys/kern/vfs_export.c Wed Oct 23 17:11:52 2013 (r256990) +++ projects/vps/sys/kern/vfs_export.c Wed Oct 23 17:13:07 2013 (r256991) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include <sys/vnode.h> #include <vps/vps.h> +#include <vps/vps2.h> #include <net/radix.h> @@ -129,6 +130,10 @@ vfs_hang_addrlist(struct mount *mp, stru argp->ex_anon.cr_groups); np->netc_anon->cr_prison = V_prison0; prison_hold(np->netc_anon->cr_prison); +#ifdef VPS + np->netc_anon->cr_vps = curthread->td_vps; + vps_ref(np->netc_anon->cr_vps, np->netc_anon); +#endif np->netc_numsecflavors = argp->ex_numsecflavors; bcopy(argp->ex_secflavors, np->netc_secflavors, sizeof(np->netc_secflavors)); @@ -215,6 +220,10 @@ vfs_hang_addrlist(struct mount *mp, stru argp->ex_anon.cr_groups); np->netc_anon->cr_prison = V_prison0; prison_hold(np->netc_anon->cr_prison); +#ifdef VPS + np->netc_anon->cr_vps = curthread->td_vps; + vps_ref(np->netc_anon->cr_vps, np->netc_anon); +#endif np->netc_numsecflavors = argp->ex_numsecflavors; bcopy(argp->ex_secflavors, np->netc_secflavors, sizeof(np->netc_secflavors)); Modified: projects/vps/sys/rpc/svc_auth.c ============================================================================== --- projects/vps/sys/rpc/svc_auth.c Wed Oct 23 17:11:52 2013 (r256990) +++ projects/vps/sys/rpc/svc_auth.c Wed Oct 23 17:13:07 2013 (r256991) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include <sys/ucred.h> #include <vps/vps.h> +#include <vps/vps2.h> #include <rpc/rpc.h> @@ -185,6 +186,10 @@ svc_getcred(struct svc_req *rqst, struct cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; cr->cr_prison = V_prison0; prison_hold(cr->cr_prison); +#ifdef VPS + cr->cr_vps = curthread->td_vps; + vps_ref(cr->cr_vps, cr); +#endif *crp = cr; return (TRUE);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310231713.r9NHD7gc064675>