[ 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 <[email protected]>
[1]
https://sources.debian.org/src/stress-ng/0.09.50-1/stress-mlock.c/?hl=203#L203