Re: [RFC]: mm,power: introduce MADV_WIPEONSUSPEND
From: Michal Hocko <mhocko@kernel.org>
Date: 2020-07-07 07:40:41
Also in:
linux-mm, linux-pm, virtualization
From: Michal Hocko <mhocko@kernel.org>
Date: 2020-07-07 07:40:41
Also in:
linux-mm, linux-pm, virtualization
On Fri 03-07-20 18:45:06, Colm MacCárthaigh wrote:
On 3 Jul 2020, at 4:30, Michal Hocko wrote:quoted
On Fri 03-07-20 10:34:09, Catangiu, Adrian Costin wrote:quoted
This patch adds logic to the kernel power code to zero out contents of all MADV_WIPEONSUSPEND VMAs present in the system during its transition to any suspend state equal or greater/deeper than Suspend-to-memory, known as S3.How does the application learn that its memory got wiped? S2disk is an async operation and it can happen at any time during the task execution. So how does the application work to prevent from corrupted state - e.g. when suspended between two memory loads?The usual trick when using MADV_WIPEONFORK, or BSD’s MAP_INHERIT_ZERO, is to store a guard variable in the page and to check the variable any time that random data is generated.
Well, MADV_WIPEONFORK is a completely different beast because the forking is under a full control of the parent process and the information about the fork can be forwarded to child process. It is not like the child would reborn into a new world in the middle of the execution. -- Michal Hocko SUSE Labs