Improve handling of mlock error codes.
authorWerner Koch <wk@gnupg.org>
Fri, 9 Dec 2016 11:10:54 +0000 (12:10 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 9 Dec 2016 11:10:54 +0000 (12:10 +0100)
commit618b8978f46f4011c11512fd5f30c15e01652e2e
treea1e669656746e3d22273b3b69b96267b29a47fb1
parent656395ba4cf34f42dda3a120bda3ed1220755a3d
Improve handling of mlock error codes.

* acinclude.m4 (GNUPG_CHECK_MLOCK): Check also for EAGAIN which is a
legitimate return code and does not indicate a broken mlock().
* src/secmem.c (lock_pool_pages): Test ERR instead of ERRNO which
could have been overwritten by cap_from+text et al.
--

  On FreeBSD, if there are not enough free pages, mlock() can return
  EAGAIN, as documented in mlock(2). That doesn't mean that mlock is
  broken. I suspect this same issue also exists on the other BSD's.

Suggested-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
This is (now) also true for Linux.

Signed-off-by: Werner Koch <wk@gnupg.org>
acinclude.m4
src/secmem.c