[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