Messages in this thread |  | | From | Linus Torvalds <> | | Date | Sun, 11 Mar 2012 16:42:37 -0700 | | Subject | Re: [PATCH 1/9] exec: add a global execve counter |
| |
On Sun, Mar 11, 2012 at 4:32 PM, Djalal Harouni <tixxdz@opendz.org> wrote: >> >> Just increment the mm_count for the thing, and hold a reference to it, >> and now you're all done. > Please Linus have you checked the: > [PATCH 9/9] proc: improve and clean up /proc/<pid>/mem protection > > That keeping the mm struct wont work, since it will eat memory and the > OOM-killer will kill some innocent processes, and the abuse can only be > catched by the VFS.
That's the point. I made the mistake of using mm_users initially, but ysing mm_count - which is what I said to use (and what Oleg fixed things to in commit 6d08f2c71397) should *not* have that problem. It just keeps the 'struct mm_struct' itself around.
> What's your opinion on it ?
What's the advantage? You replace it with *another* allocation, and a 64-bit thing that is much less useful.
The size of the patch also speaks for itself:
fs/proc/base.c | 99 ++++++++++++++++++++++++++++++++++++++++++++------------
and it's more complex and uses more memory on average (the refcount thing is *free* for usual cases).
I do agree that it would be nicer if mm_struct was a bit smaller, but at the same time, I really don't see the advantage of replacing it with another allocation entirely that makes the code just more complicated.
Linus
|  |