Re: [PATCH v17 08/10] PM: hibernate: disable when there are active secretmem users
From: David Hildenbrand <hidden>
Date: 2021-02-08 11:31:05
Also in:
linux-api, linux-arch, linux-fsdevel, linux-kselftest, linux-mm, linux-riscv, lkml, nvdimm
On 08.02.21 12:14, David Hildenbrand wrote:
On 08.02.21 12:13, David Hildenbrand wrote:quoted
On 08.02.21 11:57, Michal Hocko wrote:quoted
On Mon 08-02-21 11:53:58, David Hildenbrand wrote:quoted
On 08.02.21 11:51, Michal Hocko wrote:quoted
On Mon 08-02-21 11:32:11, David Hildenbrand wrote:quoted
On 08.02.21 11:18, Michal Hocko wrote:quoted
On Mon 08-02-21 10:49:18, Mike Rapoport wrote:quoted
From: Mike Rapoport <redacted> It is unsafe to allow saving of secretmem areas to the hibernation snapshot as they would be visible after the resume and this essentially will defeat the purpose of secret memory mappings. Prevent hibernation whenever there are active secret memory users.Does this feature need any special handling? As it is effectivelly unevictable memory then it should behave the same as other mlock, ramfs which should already disable hibernation as those cannot be swapped out, no?Why should unevictable memory not go to swap when hibernating? We're merely dumping all of our system RAM (including any unmovable allocations) to swap storage and the system is essentially completely halted.My understanding is that mlock is never really made visible via swap storage."Using swap storage for hibernation" and "swapping at runtime" are two different things. I might be wrong, though.Well, mlock is certainly used to keep sensitive information, not only to protect from major/minor faults.I think you're right in theory, the man page mentions "Cryptographic security software often handles critical bytes like passwords or secret keys as data structures" ... however, I am not aware of any such swap handling and wasn't able to spot it quickly. Let me take a closer look.s/swap/hibernate/
My F33 system happily hibernates to disk, even with an application that succeeded in din doing an mlockall(). And it somewhat makes sense. Even my freshly-booted, idle F33 has $ cat /proc/meminfo | grep lock Mlocked: 4860 kB So, stopping to hibernate with mlocked memory would essentially prohibit any modern Linux distro to hibernate ever. -- Thanks, David / dhildenb _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel