Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jun 2017 14:07:28 -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:  <20170629180728.hqmguafgy4kbrwmq@mutt-hbsd>
In-Reply-To: <20170629132333.pl6nk5bsw3fkevdx@mutt-hbsd>
References:  <201706280402.v5S42bQx089187@repo.freebsd.org> <20170628223238.v456h4t4huwbqt6f@mutt-hbsd> <20170629132333.pl6nk5bsw3fkevdx@mutt-hbsd>

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

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

On Thu, Jun 29, 2017 at 09:23:33AM -0400, Shawn Webb wrote:
> On Wed, Jun 28, 2017 at 06:32:38PM -0400, Shawn Webb wrote:
> > 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 mig=
ht
> > >   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
> >=20
> > Hey Kostik,
> >=20
> > This commit breaks both xorg and shutting down/rebooting. Reverting this
> > commit makes my laptop happy again.
>=20
> Thnking out loud: would these issues arise due to HardenedBSD using
> SafeStack, which relies on libthr's stack code?

Here's a somewhat crude and possibly improper fix that makes my laptop
happy: http://ix.io/y6z

I'm not sure, though, that really fixes the problem or just dances
around it.

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

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

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

iQIzBAEBCAAdFiEEKrq2ve9q9Ia+iT2eaoRlj1JFbu4FAllVQd0ACgkQaoRlj1JF
bu5MgQ/+KmNU5UBxoFLtr4PIN6FvUFy2qvbOWUqTMyChyOI5q5qjiwlGw9tq1l5e
OqfyJMnVNBSxGR7JCWhoQ5PFZtgJ0LWpWk3rWlAnu6GBNy6jpZfG1YkUi9ChVNcR
/ZzTAsMs8qb4w8MuZTLJSZ0JfcX7mieZ4S8BBMV69PVZQwxJVf8WaGiWh0r+lGhj
dc4f8okGuFDLmD8hepaj9IsM6fT1P6yALMrmJBU9yLa9t7MRZ+jdnlv3FJAxaWKh
8PwV19OQaTmWP+MR/Ng31QBl20zuHaTRewgph0SvwWiHcPPRtvzxYNO1MJfUYvTD
GIDWwRcOOmPSW4sDEcqnmB1TJRaQJW+rPX56eJg/EaOJCKcleM3tJyATn1y6xmDF
Sefd9EwKY2Lo9pTCchKZqQFIBGBy4U3DRKUK5PZBQPsqoA9OG5b84VXeHkR3eEMm
2EO1Kyu8x5I16GKuFaWcL6XJ4934HZ9qcYSEHpW1fpZhEvU7Ta3XGYaQugik/hsJ
iqELtqEXi14fEIY9feca80lMho2yJqOlNTiAOp3v5OdXppGib//dbIsveRYbU9rd
khno0Rj+3q7yebPOAAIVwIWbV5Botn9BCxiprwQpxq9FT8KEQnLGqvtFrXo2M7cm
ziW06Qdn7jQOmZ3bkd/zI+tgSU7tkahhhLGzuQeX53cidZryvxE=
=pM5M
-----END PGP SIGNATURE-----

--25tzry76bqduxqao--



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