Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jun 2017 18:32:38 -0400
From:      Shawn Webb <shawn.webb@hardenedbsd.org>
To:        Konstantin Belousov <kib@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r320430 - head/sys/vm
Message-ID:  <20170628223238.v456h4t4huwbqt6f@mutt-hbsd>
In-Reply-To: <201706280402.v5S42bQx089187@repo.freebsd.org>
References:  <201706280402.v5S42bQx089187@repo.freebsd.org>

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

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

On Wed, Jun 28, 2017 at 04:02:37AM +0000, Konstantin Belousov wrote:
> Author: kib
> Date: Wed Jun 28 04:02:36 2017
> New Revision: 320430
> URL: https://svnweb.freebsd.org/changeset/base/320430
>=20
> Log:
>   Treat the addr argument for mmap(2) request without MAP_FIXED flag as
>   a hint.
>  =20
>   Right now, for non-fixed mmap(2) calls, addr is de-facto interpreted
>   as the absolute minimal address of the range where the mapping is
>   created.  The VA allocator only allocates in the range [addr,
>   VM_MAXUSER_ADDRESS].  This is too restrictive, the mmap(2) call might
>   unduly fail if there is no free addresses above addr but a lot of
>   usable space below it.
>  =20
>   Lift this implementation limitation by allocating VA in two passes.
>   First, try to allocate above addr, as before.  If that fails, do the
>   second pass with less restrictive constraints for the start of
>   allocation by specifying minimal allocation address at the max bss
>   end, if this limit is less than addr.
>  =20
>   One important case where this change makes a difference is the
>   allocation of the stacks for new threads in libthr.  Under some
>   configuration conditions, libthr tries to hint kernel to reuse the
>   main thread stack grow area for the new stacks.  This cannot work by
>   design now after grow area is converted to stack, and there is no
>   unallocated VA above the main stack.  Interpreting requested stack
>   base address as the hint provides compatibility with old libthr and
>   with (mis-)configured current libthr.
>  =20
>   Reviewed by:	alc
>   Tested by:	dim (previous version)
>   Sponsored by:	The FreeBSD Foundation
>   MFC after:	1 week
>=20
> Modified:
>   head/sys/vm/vm_map.c
>   head/sys/vm/vm_map.h
>   head/sys/vm/vm_mmap.c

Hey Kostik,

This commit breaks both xorg and shutting down/rebooting. Reverting this
commit makes my laptop happy again.

Thanks,

--=20
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

GPG Key ID:          0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE

--wissjs73tyvhitp6
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEKrq2ve9q9Ia+iT2eaoRlj1JFbu4FAllULoMACgkQaoRlj1JF
bu5cyg/9GDgKlk6IjQHzwSIPsb5s31YYjKIjcOSvZ+1DMikfEoQ9YPiFBzkWGHMw
DUM4OTNpBS6r2qX/yFTGDahHC48CfC8GiwxfRPHHKjpg37eVwwzS+NPlIWp44ndV
+00W9pdbxPucK/Wp6swBUGM+nKHowPjr8Cy5MLD7qPvy6AIiy69VrZ1sOwl8xfob
MwqB9e04Wh7QKIm9uyTFPAOUBzbnhLl/gwNA9tEk1Y1UYWt9bUIP+fdh/mLoOc0r
jVaIdX0Z+qd1sfkfvXe/uwzNceuuAgMhAIYdtISLTfvL5HGRJcNKdVbAQMKRBLel
v1T2mpwgah+oBTUvlSiLlHpIkNeBFroVZvLsxTUvy5f85qdMhSJ1rghIs7iqs7cK
9kCLE2GUBO2AWcsyfS3oMq+WVhjuDSFjx1EInuhusz1qdGtVSetksWfCsq+Ks2Ev
lNaQBRiytvkIrFIoqJGbB337cUAy1KV05R+dB7Ge/qn+NIMcjIlt0V5hN61z3o16
HH1jfzb37Z+DaHrUwiwrRLQxUOyjjLpILWc9DudB/75atlZfA8FrLaw37/1EgGyd
4NLo0jnMBKw6GsxLZBoH8jMk+QMeEjYRo73medsvOJ3hXBJndLewB8avAW7V11iM
KZp5qscqCd1S1LJMVuCUpJZkBPQ5Oah8q2XwUFrgf6hVMv6wbwI=
=tNe7
-----END PGP SIGNATURE-----

--wissjs73tyvhitp6--



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