From 555c44524499f1a9be0e932749f5e580ed2c1021 Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Tue, 21 Jul 2015 20:47:17 +0200 Subject: [PATCH] mlock.2: Document another ENOME error case ENOMEM can occur if locking/unlocking in the middle of a region would increase the number of VMAs beyond the system limit (64k). Reported-by: Mehdi Aqadjani Memar Signed-off-by: Michael Kerrisk --- man2/mlock.2 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/man2/mlock.2 b/man2/mlock.2 index b8487ff29..8f4837290 100644 --- a/man2/mlock.2 +++ b/man2/mlock.2 @@ -170,6 +170,15 @@ was not a multiple of the page size. .B ENOMEM Some of the specified address range does not correspond to mapped pages in the address space of the process. +.TP +.B ENOMEM +Locking or unlocking a region would result in the total number of +mappings with distinct attributes (e.g., locked versus unlocked) +exceeding the allowed maximum. +.\" I.e., the number of VMAs would exceed the 64kB maximum +(For example, unlocking a range in the middle of a currently locked +mapping would result in three mappings: +two locked mappings at each end and an unlocked mapping in the middle.) .LP For .BR mlockall ():