From owner-freebsd-stable@FreeBSD.ORG Sat Dec 28 14:08:50 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7A9C5614; Sat, 28 Dec 2013 14:08:50 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id F395A1F8F; Sat, 28 Dec 2013 14:08:49 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.7/8.14.7) with ESMTP id rBSE8iPN024273; Sat, 28 Dec 2013 16:08:44 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.8.3 kib.kiev.ua rBSE8iPN024273 Received: (from kostik@localhost) by tom.home (8.14.7/8.14.7/Submit) id rBSE8hAg024272; Sat, 28 Dec 2013 16:08:43 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 28 Dec 2013 16:08:43 +0200 From: Konstantin Belousov To: sbruno@freebsd.org Subject: Re: 10.0 BETA 3 with redports kernel panic Message-ID: <20131228140843.GT59496@kib.kiev.ua> References: <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> <20131221145534.GY59496@kib.kiev.ua> <1387818681.2431.0.camel@powernoodle.corp.yahoo.com> <1388170732.1530.2.camel@powernoodle.corp.yahoo.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="MsO6zuypTbNx/TXS" Content-Disposition: inline In-Reply-To: <1388170732.1530.2.camel@powernoodle.corp.yahoo.com> User-Agent: Mutt/1.5.22 (2013-10-16) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on tom.home Cc: decke , "freebsd-stable@freebsd.org" , Peter Wemm X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Dec 2013 14:08:50 -0000 --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--