memlimit.c: ignore sysconf() failures

When using qemu-arm, sysconf(_SC_PAGE_SIZE) returns an error
with an errno of ENOSYS.  This change ignores ENOSYS since
the result would be the same as when _SC_PAGE_SIZE was not
defined.  This makes scrypt work in cryptohome unittests.

The "right" solution is to add a new macro via configure that
wraps up the _SC_PAGE_SIZE test along with a compile-time test
for sysconf() to work.  It seems like overkill, but probably
the right move for upstreaming.

TEST=builds and cryptohome tests work under qemu-arm
BUG=chromium-os:38444
Signed-off-by: Will Drewry <wad@chromium.org>

Change-Id: Ic04d19b0d1553c4e57f562cdcee99e59b300f2e0
Reviewed-on: https://gerrit.chromium.org/gerrit/42579
Reviewed-by: Kees Cook <keescook@chromium.org>
Commit-Queue: Will Drewry <wad@chromium.org>
Tested-by: Will Drewry <wad@chromium.org>
diff --git a/src/lib/util/memlimit.c b/src/lib/util/memlimit.c
index 8303f5c..b5b5c45 100644
--- a/src/lib/util/memlimit.c
+++ b/src/lib/util/memlimit.c
@@ -207,7 +207,8 @@
 	if (((pagesize = sysconf(_SC_PAGE_SIZE)) == -1) ||
 	    ((physpages = sysconf(_SC_PHYS_PAGES)) == -1)) {
 		/* Did an error occur? */
-		if (errno != 0)
+		/* TODO: wrap ENOSYS with autoconf detection testing. */
+		if (errno != 0 && errno != ENOSYS)
 			return (1);
 
 		/* If not, there is no limit. */