On Thu, Feb 11, 2021 at 11:02:07AM +0100, David Hildenbrand wrote:
Another thought regarding "doesn't have _any_ backing storage"
What are the right semantics when it comes to memory accounting/commit?
As secretmem does not have a) any backing storage b) cannot go to swap
The MAP_NORESERVE vs. !MAP_NORESERVE handling gets a little unclear. Why "reserve swap space" if the allocations cannot ever go to swap? Sure, we want to "reserve physical memory", but in contrast to other users that can go to swap.
Of course, this is only relevant for MAP_PRIVATE secretmem mappings. Other MAP_SHARED assumes there is no need for reserving swap space as it can just go to the backing storage. (yeah, tmpfs/shmem is weird in that regard as well, but again, it's a bit different)
In that sense seceremem is as weird as tmpfs and it only allows MAP_SHARED.