Re: [PATCH] PM / Hibernate: allow hibernation with PAGE_POISONING_ZERO

From: Kees Cook
Date: Fri Sep 09 2016 - 14:29:56 EST


On Fri, Sep 9, 2016 at 1:43 AM, Anisse Astier <anisse@xxxxxxxxx> wrote:
> PAGE_POISONING_ZERO disables zeroing new pages on alloc, they are
> poisoned (zeroed) as they become available.
> In the hibernate use case, free pages will appear in the system without
> being cleared, left there by the loading kernel.
>
> This patch will make sure free pages are cleared on resume when
> PAGE_POISONING_ZERO is enabled. We free the pages just after resume
> because we can't do it later: going through any device resume code might
> allocate some memory and invalidate the free pages bitmap.
>
> Thus we don't need to disable hibernation when PAGE_POISONING_ZERO is
> enabled.
>
> Signed-off-by: Anisse Astier <anisse@xxxxxxxxx>
> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> Cc: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx>
> Cc: Mel Gorman <mgorman@xxxxxxx>
> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>

Cool!

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

-Kees

--
Kees Cook
Nexus Security