Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Dec 2013 16:08:43 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        sbruno@freebsd.org
Cc:        decke <decke@FreeBSD.org>, "freebsd-stable@freebsd.org" <freebsd-stable@freebsd.org>, Peter Wemm <peter@wemm.org>
Subject:   Re: 10.0 BETA 3 with redports kernel panic
Message-ID:  <20131228140843.GT59496@kib.kiev.ua>
In-Reply-To: <1388170732.1530.2.camel@powernoodle.corp.yahoo.com>
References:  <CAGE5yCqhmRSM6oyw=FRZq59LniLsYaN%2BEog=GEPn3-ruuQk9EQ@mail.gmail.com> <CAGE5yCp9msPAy4HZ4TGRXws%2BxjLQ8iChbPQGj539qHJKhq2UJQ@mail.gmail.com> <1387492541.27693.5.camel@powernoodle.corp.yahoo.com> <20131220094835.GR59496@kib.kiev.ua> <1387554355.1491.4.camel@powernoodle.corp.yahoo.com> <20131220162254.GT59496@kib.kiev.ua> <CAGE5yCos5xGu7w24A6QSRDEPbfRNsjmHSvnpUE2Dvr1PUW2T8w@mail.gmail.com> <20131221145534.GY59496@kib.kiev.ua> <1387818681.2431.0.camel@powernoodle.corp.yahoo.com> <1388170732.1530.2.camel@powernoodle.corp.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--MsO6zuypTbNx/TXS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Dec 27, 2013 at 10:58:52AM -0800, Sean Bruno wrote:
> Update from redports land.
>=20
> I've added the patches for "keep java from crashing the box" to these
> machines as they have manifested the problem once.  I have not seen the
> original panic str of:
>=20
> panic: vm_fault: fault on nofault entry, addr: fffffe0327240000
>=20
> So, the current diff looks like this:

That patch in the /dev/mem part was buggy.  I noted that
kgdb /boot/kernel/kernel /dev/mem
was broken with it.  Updated and supposedly corrected patch is below.
Note that vm_map_stack() patch was already committed yesterday.

diff --git a/sys/amd64/amd64/mem.c b/sys/amd64/amd64/mem.c
index abbbb21..fd9c5df 100644
--- a/sys/amd64/amd64/mem.c
+++ b/sys/amd64/amd64/mem.c
@@ -98,7 +98,13 @@ memrw(struct cdev *dev, struct uio *uio, int flags)
 kmemphys:
 			o =3D v & PAGE_MASK;
 			c =3D min(uio->uio_resid, (u_int)(PAGE_SIZE - o));
-			error =3D uiomove((void *)PHYS_TO_DMAP(v), (int)c, uio);
+			v =3D PHYS_TO_DMAP(v);
+			if (v < DMAP_MIN_ADDRESS ||
+			    (v > DMAP_MIN_ADDRESS + dmaplimit &&
+			    v <=3D DMAP_MAX_ADDRESS) ||
+			    pmap_kextract(v) =3D=3D 0)
+				return (EFAULT);
+			error =3D uiomove((void *)v, (int)c, uio);
 			continue;
 		}
 		else if (dev2unit(dev) =3D=3D CDEV_MINOR_KMEM) {
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 014020b..85be1f2 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -321,7 +321,7 @@ SYSCTL_INT(_machdep, OID_AUTO, nkpt, CTLFLAG_RD, &nkpt,=
 0,
     "Number of kernel page table pages allocated on bootup");
=20
 static int ndmpdp;
-static vm_paddr_t dmaplimit;
+vm_paddr_t dmaplimit;
 vm_offset_t kernel_vm_end =3D VM_MIN_KERNEL_ADDRESS;
 pt_entry_t pg_nx;
=20
diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h
index 3918282..e83e07e 100644
--- a/sys/amd64/include/pmap.h
+++ b/sys/amd64/include/pmap.h
@@ -369,6 +369,7 @@ extern vm_paddr_t phys_avail[];
 extern vm_paddr_t dump_avail[];
 extern vm_offset_t virtual_avail;
 extern vm_offset_t virtual_end;
+extern vm_paddr_t dmaplimit;
=20
 #define	pmap_page_get_memattr(m)	((vm_memattr_t)(m)->md.pat_mode)
 #define	pmap_page_is_write_mapped(m)	(((m)->aflags & PGA_WRITEABLE) !=3D 0)

--MsO6zuypTbNx/TXS
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBAgAGBQJSvttqAAoJEJDCuSvBvK1BXIoQAKh1dQrhitZ68wSAPYBeF50h
v7zid2v5vOJ41lW8Dml6Erjx7S3LZXQDjBE5aXa/fkBrvqjN9zV2mAACr2Ok3tWk
mSN+BTCOSTXngfVstD0cgyaD4+I1/UkyD/ZCIY3QIrK4BhP8WXAGXI8lJxE9+nsn
BTRdfhuNsyczSvsiWV/SHLNpcQs8/oCuDIRWI6giqNpLsIxj+A4b79lIrIh4rZFu
6pOfpUCWjrEvd0tD1mgOz0dfcm5jrOMEf9uqBP0L8mOvRlBWbXLl3rLInbdbDH0d
XH3Szw4DLne6p47w2fAsl4rqam4GfOGE/7WKaU+DPx4XRs4C6WHvwHjIzLtzwG3u
2fdQohC7QHNQDtfAQ3DTFd9oCZNdqGsQP5ES6Q7C27rXoZwNBJ6u4Mwk3ZRob/s0
jccMBxm6f6DRisBMEIFbAI+4VO2MDg+wA5YeGeVkNhH8Riw3c3YGXutdAw+iDS8l
/g3L4enl/bj41qJbKSvl/CWsHnzdWtXHPFO8QRIDp3PlqZBAFQUhCb3ZWvQ3xD5U
RJxrRRvKdxacfM4Wb/QOCvVEosAEZoDHcgXvsICQcaaCM+ESvclv2kdF9QRkXQK7
4eAd4bKozdPKJIRvmnW0GybR7XcA3h4UM7n4QDhQijZqin5dFPJL6YgqwM92zJyK
lsRLos9ebYxDnPV0yw8O
=jNyY
-----END PGP SIGNATURE-----

--MsO6zuypTbNx/TXS--



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