public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* mm_release() call in exit_mm() looks dangerous
@ 2007-11-11 23:40 Jesper Juhl
  2007-11-13  0:48 ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 4+ messages in thread
From: Jesper Juhl @ 2007-11-11 23:40 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: Jesper Juhl

In kernel/exit.c we have this code :

static void exit_mm(struct task_struct * tsk)
{
        struct mm_struct *mm = tsk->mm;

        mm_release(tsk, mm);
        if (!mm)
                return;
...


But, mm_release() may dereference it's second argument ('mm'), so
shouldn't we be doing the "!mm" test *before* we call mm_release() and
not after?
I don't know the mm code well enough to be able to tell if some of the
other stuff mm_release does needs to be done always and the mm
dereference can't actually happen, but maybe someone else who knows
the code better can tell...  In any case, what's currently there looks
a little shaky..

-- 
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-11-16  2:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-11 23:40 mm_release() call in exit_mm() looks dangerous Jesper Juhl
2007-11-13  0:48 ` Jeremy Fitzhardinge
2007-11-16  0:34   ` Jesper Juhl
2007-11-16  2:25     ` [Patch] kernel/exit.c: Fix use-before-check in exit_mm() WANG Cong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox