Re: [PATCH v2 0/2] mm,fork,security: introduce MADV_WIPEONFORK
From: Florian Weimer <hidden>
Date: 2017-08-11 15:24:35
Also in:
linux-mm, lkml
On 08/11/2017 04:24 PM, Michal Hocko wrote:
On Fri 11-08-17 16:11:44, Florian Weimer wrote:quoted
On 08/11/2017 04:06 PM, Michal Hocko wrote:quoted
I am sorry to look too insisting here (I have still hard time to reconcile myself with the madvise (ab)use) but if we in fact want minherit like interface why don't we simply add minherit and make the code which wants to use that interface easier to port? Is the only reason that hooking into madvise is less code? If yes is that a sufficient reason to justify the (ab)use of madvise? If there is a general consensus on that part I will shut up and won't object anymore. Arguably MADV_DONTFORK would fit into minherit API better as well.It does, OpenBSD calls it MAP_INHERIT_NONE. Could you implement MAP_INHERIT_COPY and MAP_INHERIT_SHARE as well? Or is changing from MAP_SHARED to MAP_PRIVATE and back impossible?I haven't explored those two very much. Their semantic seems rather awkward, especially map_inherit_share one. I guess MAP_INHERIT_COPY would be doable. Do we have to support all modes or a missing support would disqualify the syscall completely?
I think it would be a bit awkward if we implemented MAP_INHERIT_ZERO and it would not turn a shared mapping into a private mapping in the child, or would not work on shared mappings at all, or deviate in any way from the OpenBSD implementation. MAP_INHERIT_SHARE for a MAP_PRIVATE mapping which has been modified is a bit bizarre, and I don't know how OpenBSD implements any of this. It could well be that the exact behavior implemented in OpenBSD is a poor fit for the Linux VM implementation. Florian