On Tue, Jun 11, 2019 at 01:33:23AM +1000, Bruce Evans wrote: > On Mon, 10 Jun 2019, Shawn Webb wrote: > > > On Mon, Jun 10, 2019 at 03:07:11AM +0000, Doug Moore wrote: > > > ... > > > Log: > > > There are times when a len==0 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. > > > ... > > > /* Adjust size for rounding (on both ends). */ > > > size += pageoff; /* low end... */ > > > - size = (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==0 results in EINVAL, so the manpage > > needs updating. > > The man page doesn't say that only len == 0 results in EINVAL, so it is > not incorrect.
https://github.com/freebsd/freebsd/blob/master/lib/libc/sys/mmap.2#L451-L455 Tons of error conditions listed, one of which is len==0. Thanks, -- Shawn Webb Cofounder / Security Engineer HardenedBSD Tor-ified Signal: +1 443-546-8752 Tor+XMPP+OTR: latt...@is.a.hacker.sx GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2
signature.asc
Description: PGP signature