[PATCH] mlockall: Document MCL_ONFAULT flag

Florian Weimer fweimer@redhat.com
Mon Nov 27 10:57:00 GMT 2017


On 11/28/2017 11:42 AM, Rical Jasan wrote:
> On 11/24/2017 08:59 AM, Florian Weimer wrote:
>> 2017-11-24  Florian Weimer  <fweimer@redhat.com>
>>
>> 	* manual/memory.texi (Page Lock Functions): Document MCL_ONFAULT.
>>
>> diff --git a/manual/memory.texi b/manual/memory.texi
>> index 1b431bf5da..d96e9881de 100644
>> --- a/manual/memory.texi
>> +++ b/manual/memory.texi
>> @@ -3404,31 +3404,52 @@ other bits must be zero.
>>   @vtable @code
>>   
>>   @item MCL_CURRENT
>> +@standards{POSIX.1b, sys/mman.h}
>>   Lock all pages which currently exist in the calling process' virtual
>>   address space.
>>   
>>   @item MCL_FUTURE
>> +@standards{POSIX.1b, sys/mman.h}
> 
> Thanks for completing those (though I haven't confirmed the standard).

Neither have I.  I assumed they were defined along with mlockall.  These 
constants are in current POSIX.

>> +@item MCL_ONFAULT
>> +@standards{Linux, sys/mman.h}
>> +Together with @code{MCL_CURRENT}, only those which are already in memory
> 
> "only those pages"

Fixed.

>>   When the process is in @code{MCL_FUTURE} mode because it successfully
>> -executed this function and specified @code{MCL_CURRENT}, any system call
>> -by the process that requires space be added to its virtual address space
>> -fails with @code{errno} = @code{ENOMEM} if locking the additional space
>> -would cause the process to exceed its locked page limit.  In the case
>> -that the address space addition that can't be accommodated is stack
>> -expansion, the stack expansion fails and the kernel sends a
>> -@code{SIGSEGV} signal to the process.
>> +executed this function and specified @code{MCL_FUTURE} without
> 
> Good eye; looks like a typo.

Right, should have added that to the ChangeLog.  Now fixed.

Thanks,
Florian



More information about the Libc-alpha mailing list