On Tue, 2017-08-08 at 08:19 -0700, Mike Kravetz wrote:
> The other question I was trying to bring up is "What does
> 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
> file? Or, do we drop all references to the file and essentially
> it to a private (or shared?) anonymous mapping after fork. What
> 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
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...