Date: Mon, 10 Jun 2019 10:27:15 -0400 From: Shawn Webb <shawn.webb@hardenedbsd.org> To: Doug Moore <unkadoug@gmail.com> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, pho@freebsd.org Subject: Re: svn commit: r348843 - head/sys/vm Message-ID: <20190610142715.be254wljfrnetuom@mutt-hbsd> In-Reply-To: <c084ec12-5f44-c3e1-bad0-2c702a3032f9@freebsd.org> References: <201906100307.x5A37BFt099669@repo.freebsd.org> <20190610130034.k2nzitvaxvpj5lzx@mutt-hbsd> <c084ec12-5f44-c3e1-bad0-2c702a3032f9@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--qtmrtafjtenr6vop Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Sounds good! I think the manpage still might still need a change to match the current behavior, or perhaps matching something similar to that vm_mmap.c comment. But that comment brings another question: what's the definition of "old binaries"? a.out? Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD Tor-ified Signal: +1 443-546-8752 Tor+XMPP+OTR: lattera@is.a.hacker.sx GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 On Mon, Jun 10, 2019 at 09:19:55AM -0500, Doug Moore wrote: > This comment appears in vm_mmap.c: >=20 > ???? * Mapping of length 0 is only allowed for old binaries. >=20 > and my intent was to say, to whoever wrote that comment, that I was not > disallowing the mapping of length zero with this change.? I was only > intending to affect a case in which the length was transformed to zero, > and which was the problem that Peter Holm reported. >=20 > Doug Moore >=20 > On 6/10/19 8:00 AM, Shawn Webb wrote: > > On Mon, Jun 10, 2019 at 03:07:11AM +0000, Doug Moore wrote: > >> Author: dougm > >> Date: Mon Jun 10 03:07:10 2019 > >> New Revision: 348843 > >> URL: https://svnweb.freebsd.org/changeset/base/348843 > >> > >> Log: > >> There are times when a len=3D=3D0 parameter to mmap is okay. But on a > >> 32-bit machine, a len parameter just a few bytes short of 4G, rounded > >> up to a page boundary and hitting zero then, is not okay. Return > >> failure in that case. > >> =20 > >> Reported by: pho > >> Reviewed by: alc, kib (mentor) > >> Tested by: pho > >> Differential Revision: https://reviews.freebsd.org/D20580 > >> > >> Modified: > >> head/sys/vm/vm_mmap.c > >> > >> Modified: head/sys/vm/vm_mmap.c > >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > >> --- head/sys/vm/vm_mmap.c Sun Jun 9 22:55:21 2019 (r348842) > >> +++ head/sys/vm/vm_mmap.c Mon Jun 10 03:07:10 2019 (r348843) > >> @@ -257,7 +257,10 @@ kern_mmap(struct thread *td, uintptr_t addr0, siz= e_t s > >> =20 > >> /* Adjust size for rounding (on both ends). */ > >> size +=3D pageoff; /* low end... */ > >> - size =3D (vm_size_t) round_page(size); /* hi end */ > >> + /* Check for rounding up to zero. */ > >> + if (round_page(size) < size) > >> + return (EINVAL); > > The mmap(2) manpage says that len=3D=3D0 results in EINVAL, so the manp= age > > needs updating. > > > > I'm curious what "there are times" refers to. Can you or the original > > reporter elaborate those cases? > > > > Thanks a lot! > > --qtmrtafjtenr6vop Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAlz+aL4ACgkQ/y5nonf4 4fp98A//SC8qaENnvUk/upV7gKz/oMYmqXIhvHXZMJgiXymtdRZKRW7RMVQrRYmb gbtl9uNLSbLKI88LILJ/0YjXxRieT2e+UaNHkwzitco+fkeUr9LhbqVOuGxPOpWs J9ckPPtZjvVpUXAjt43LC4s2OlM0zs1mpcq/e7Xw7bYHrUO0c6dPGhgCQGvxdWD1 EYnOsNF2n7Us+rpviVTeQVWyESXEkRGhNLKu9/OwVFiUUHGM6vvL5K7A8OEpaU62 8uabKumD3ZnrTJspAXWOBF31EzzzP41wR+yWekdlvdkS5gutBj0XNQ/XBhLQmIBe JCtjKRLHdXAWqfF3kGQs8xCYjlSiF677dDVSrC29lTO98oXcC0Q5HWPkuOxqPQCR ySjfst/6L+R/CnTwFlQpHfaMY5oPJ/qqlDhzvtKmAa/jnoe1Qszc6mRU8hRXmqdn rC4Bk9PnUjxpAu172zJNNP0T6pBi+3bZSbjU6GhPGnifxOy8RV7EEp8ktJ79WJZA cb+SCPGDTjnBElI/kYK54sJy0/t2radwsc/7DxOJiuE7fO/Pu9MkiwoKWFjs4OZw VVZgoFOxXEvb8nWkddEyBGWhYPjU4TgWMv9MBCKHlA+5fNQcXtBroYpg/AcxAUCA I0ZYpeMrqb9fC3XLPtkZMFFUqbQYT6tpT4PQX6KYWYHWTsDoS8g= =Tqvi -----END PGP SIGNATURE----- --qtmrtafjtenr6vop--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190610142715.be254wljfrnetuom>