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>