svn commit: r317315 - head/lib/libc/gen

Konstantin Belousov kostikbel at gmail.com
Sun Apr 23 13:11:03 UTC 2017


On Sun, Apr 23, 2017 at 03:07:36PM +0200, Jilles Tjoelker wrote:
> On Sun, Apr 23, 2017 at 12:53:45PM +0300, Konstantin Belousov wrote:
> > On Sun, Apr 23, 2017 at 03:17:32AM +0000, Ngie Cooper wrote:
> > > Author: ngie
> > > Date: Sun Apr 23 03:17:32 2017
> > > New Revision: 317315
> > > URL: https://svnweb.freebsd.org/changeset/base/317315
> 
> > > Log:
> > >   Note that getpagesize(3) can return -1 on failure
> 
> > getpagesize() cannot fail.  This change only confuses the readers.
> 
> Although I agree that getpagesize() cannot fail and that it is
> inappropriate to check for it, the code in lib/libc/gen/getpagesize.c
> has a path where it returns -1 (if sysctl CTL_HW HW_PAGESIZE fails). It
> probably makes more sense to abort() here to avoid confusing both humans
> and static analyzers, and allow easier debugging if a bug causes it to
> fail (instead of calculating bogus sizes from the -1 return value).

If the sysctl() call fails there, I think it does not make any sense to
bother with abort(), since we do not run on a FreeBSD(-like) kernel.
Might be, it would be cleaner to change return (-1) to return (PAGE_SIZE)
in the 'error case'.


More information about the svn-src-all mailing list