On Sat, 2017-08-05 at 02:44 +0300, Kirill A. Shutemov wrote: > On Fri, Aug 04, 2017 at 03:07:28PM -0400, r...@redhat.com wrote: > > [resend because half the recipients got dropped due to IPv6 > > firewall issues] > > > > Introduce MADV_WIPEONFORK semantics, which result in a VMA being > > empty in the child process after fork. This differs from > > MADV_DONTFORK > > in one important way. > > > > If a child process accesses memory that was MADV_WIPEONFORK, it > > will get zeroes. The address ranges are still valid, they are just > > empty. > > I feel like we are repeating mistake we made with MADV_DONTNEED. > > MADV_WIPEONFORK would require a specific action from kernel, ignoring > the /advise/ would likely lead to application misbehaviour. > > Is it something we really want to see from madvise()?
We already have various mandatory madvise behaviors in Linux, including MADV_REMOVE, MADV_DONTFORK, and MADV_DONTDUMP.