Re: [PATCH] mm: mlockall error for flag MCL_ONFAULT
From: Daniel Jordan
Date: Fri May 24 2019 - 17:46:32 EST
[ Adding linux-api and some of the people who were involved in the
MCL_ONFAULT/mlock2/etc discussions. Author of the Fixes patch appears to
have moved on. ]
On Wed, May 22, 2019 at 11:23:37AM +0000, Potyra, Stefan wrote:
> If mlockall() is called with only MCL_ONFAULT as flag,
> it removes any previously applied lockings and does
> nothing else.
The change looks reasonable. Hard to imagine any application relies on it, and
they really shouldn't be if they are. Debian codesearch turned up only a few
cases where stress-ng was doing this for unknown reasons[1] and this change
isn't gonna break those. In this case I think changing the syscall's behavior
is justified.
> This behavior is counter-intuitive and doesn't match the
> Linux man page.
I'd quote it for the changelog:
For mlockall():
EINVAL Unknown flags were specified or MCL_ONFAULT was specified withâ
out either MCL_FUTURE or MCL_CURRENT.
With that you can add
Reviewed-by: Daniel Jordan <daniel.m.jordan@xxxxxxxxxx>
[1] https://sources.debian.org/src/stress-ng/0.09.50-1/stress-mlock.c/?hl=203#L203