Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Sep 2009 21:06:27 +0200
From:      =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
To:        Jamie Gritton <jamie@FreeBSD.org>
Cc:        stable@FreeBSD.org, Marcel Moolenaar <xcllnt@mac.com>, "current@freebsd.org mailing list" <current@FreeBSD.org>
Subject:   Re: 8.0-RC1: kernel page fault in NLM master thread (VIMAGE or ZFS related?)
Message-ID:  <86ab0g1a30.fsf@ds4.des.no>
In-Reply-To: <4ABD4BB9.1030804@FreeBSD.org> (Jamie Gritton's message of "Fri,  25 Sep 2009 17:01:13 -0600")
References:  <FD184B4B-517F-470E-BAC8-DD0795983C2B@mac.com> <4ABD4BB9.1030804@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Jamie Gritton <jamie@FreeBSD.org> writes:
> Index: kern/vfs_export.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- kern/vfs_export.c	(revision 197506)
> +++ kern/vfs_export.c	(working copy)
> @@ -122,6 +122,8 @@
>  		np->netc_anon->cr_uid =3D argp->ex_anon.cr_uid;
>  		crsetgroups(np->netc_anon, argp->ex_anon.cr_ngroups,
>  		    argp->ex_anon.cr_groups);
> +		np->netc_anon->cr_prison =3D &prison0;
> +		prison_hold(np->netc_anon->cr_prison);
>  		np->netc_numsecflavors =3D argp->ex_numsecflavors;
>  		bcopy(argp->ex_secflavors, np->netc_secflavors,
>  		    sizeof(np->netc_secflavors));

You need to #include <sys/jail.h> for prison0...  See attached patch.

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@des.no


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=nfslockd.diff

Index: sys/kern/vfs_export.c
===================================================================
--- sys/kern/vfs_export.c	(revision 197539)
+++ sys/kern/vfs_export.c	(working copy)
@@ -40,6 +40,7 @@
 #include <sys/param.h>
 #include <sys/dirent.h>
 #include <sys/domain.h>
+#include <sys/jail.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
@@ -122,6 +123,8 @@
 		np->netc_anon->cr_uid = argp->ex_anon.cr_uid;
 		crsetgroups(np->netc_anon, argp->ex_anon.cr_ngroups,
 		    argp->ex_anon.cr_groups);
+		np->netc_anon->cr_prison = &prison0;
+		prison_hold(np->netc_anon->cr_prison);
 		np->netc_numsecflavors = argp->ex_numsecflavors;
 		bcopy(argp->ex_secflavors, np->netc_secflavors,
 		    sizeof(np->netc_secflavors));
@@ -206,6 +209,8 @@
 	np->netc_anon->cr_uid = argp->ex_anon.cr_uid;
 	crsetgroups(np->netc_anon, argp->ex_anon.cr_ngroups,
 	    np->netc_anon->cr_groups);
+	np->netc_anon->cr_prison = &prison0;
+	prison_hold(np->netc_anon->cr_prison);
 	np->netc_numsecflavors = argp->ex_numsecflavors;
 	bcopy(argp->ex_secflavors, np->netc_secflavors,
 	    sizeof(np->netc_secflavors));
Index: sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
===================================================================
--- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c	(revision 197539)
+++ sys/rpc/rpcsec_gss/svc_rpcsec_gss.c	(working copy)
@@ -449,6 +449,8 @@
 	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);

--=-=-=--



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