Re: [PATCH v2 0/2] mm,fork,security: introduce MADV_WIPEONFORK

From: Rik van Riel
Date: Tue Aug 08 2017 - 11:46:16 EST


On Tue, 2017-08-08 at 08:19 -0700, Mike Kravetz wrote:

> The other question I was trying to bring up is "What does
> MADV_WIPEONFORK
> mean for various types of mappings?"ÂÂFor example, if we allow
> MADV_WIPEONFORK on a file backed mapping what does that mapping look
> like in the child after fork?ÂÂDoes it have any connection at all to
> the
> file?ÂÂOr, do we drop all references to the file and essentially
> transform
> it to a private (or shared?) anonymous mapping after fork.ÂÂWhat
> about
> System V shared memory?ÂÂWhat about hugetlb?

My current patch turns any file-backed VMA into an empty
anonymous VMA if MADV_WIPEONFORK was used on that VMA.

> If the use case is fairly specific, then perhaps it makes sense to
> make MADV_WIPEONFORK not applicable (EINVAL) for mappings where the
> result is 'questionable'.

That would be a question for Florian and Colm.

If they are OK with MADV_WIPEONFORK only working on
anonymous VMAs (no file mapping), that certainly could
be implemented.

On the other hand, I am not sure that introducing cases
where MADV_WIPEONFORK does not implement wipe-on-fork
semantics would reduce user confusion...