Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 11 Mar 2012 15:48:02 -0700
From: Linus Torvalds <>
To: Oleg Nesterov <>
Cc: Djalal Harouni <>,,, 
	Andrew Morton <>, Al Viro <>, 
	Alexey Dobriyan <>, "Eric W. Biederman" <>, 
	Vasiliy Kulikov <>, Kees Cook <>, 
	Solar Designer <>, WANG Cong <>, 
	James Morris <>,,, Alan Cox <>, 
	Greg KH <>, Ingo Molnar <>, 
	Stephen Wilson <>, "Jason A. Donenfeld" <>
Subject: Re: [PATCH 1/9] exec: add a global execve counter

On Sun, Mar 11, 2012 at 10:25 AM, Oleg Nesterov <> wrote:
> It should be per-process, signal_struct makes more sense. Or may be
> mm_struct.

I do wonder if we shouldn't just consider the "struct mm_struct"
pointer to *be* the unique exec ID. It's what /proc/pid/mem does, and
it works fine, and allows us to just use a normal pointer as the
unique ID.

Just increment the mm_count for the thing, and hold a reference to it,
and now you're all done.

By definition an execve() will change the mm struct, and if you have a
refcount to the old one, it won't be re-used. And it's not a huge
allocation, although it would definitely be good to put that thing on
a diet.

And as long as we use 'mm_count', not 'mm_users', it won't pin
anything else in memory. That's part of the whole point of the
doubly-refcounted thing.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.