Thread (25 messages) 25 messages, 7 authors, 2020-07-07

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help