Messages in this thread | | | Date | Mon, 23 Jan 2012 16:54:22 -0800 | From | Arun Sharma <> | Subject | Re: [PATCH] mm: Enable MAP_UNINITIALIZED for archs with mmu |
| |
On 1/18/12 6:42 PM, KAMEZAWA Hiroyuki wrote: > > Hmm, then, > 1. a new task jumped into this cgroup can see any uncleared data... > 2. if a memcg pointer is reused, the information will be leaked.
You're suggesting mm_match_cgroup() is good enough for accounting purposes, but not usable for cases where its important to get the equality right?
> 3. If VM_UNINITALIZED is set, the process can see any data which > was freed by other process which doesn't know VM_UNINITALIZED at all. > > 4. The process will be able to see file cache data which the it has no > access right if it's accessed by memcg once. > > 3& 4 seems too danger.
Yes - these are the risks that I'm hoping we can document, so the cgroups admin can avoid opting-in if not everything running in the cgroup is trusted.
> > Isn't it better to have this as per-task rather than per-memcg ? > And just allow to reuse pages the page has freed ? >
I'm worrying that the additional complexity of maintaining a per-task page list would be a problem. It might slow down workloads that alloc/free a lot because of the added code. It'll probably touch the kswapd as well (for reclaiming pages from the per-task free lists under low mem conditions).
Did you have some implementation ideas which would not have the problems above?
-Arun
| |