Re: on CONFIG_MM_OWNER=y, kernel panic is possible.

From: KOSAKI Motohiro
Date: Tue May 06 2008 - 02:25:53 EST


> > That is not possible. If you look at where mm_update_next_owner() is called
> > from, we call it from
> >
> > exit_mm() and exec_mmap()
> >
> > In both cases, we ensure that the task's mm has changed (to NULL and the new mm
> > respectively), before we call mm_update_next_owner(), hence c->mm can never be
> > equal to p->mm.
>
> if so, following patch is needed instead.

and, one more.

comment of owner member of mm_struct is bogus.
that is not guranteed point to thread-group-leader.


Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>

---
include/linux/mm_types.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Index: b/include/linux/mm_types.h
===================================================================
--- a/include/linux/mm_types.h 2008-05-04 22:56:52.000000000 +0900
+++ b/include/linux/mm_types.h 2008-05-06 15:53:04.000000000 +0900
@@ -231,8 +231,7 @@ struct mm_struct {
rwlock_t ioctx_list_lock; /* aio lock */
struct kioctx *ioctx_list;
#ifdef CONFIG_MM_OWNER
- struct task_struct *owner; /* The thread group leader that */
- /* owns the mm_struct. */
+ struct task_struct *owner; /* point to one of task that owns the mm_struct. */
#endif

#ifdef CONFIG_PROC_FS



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/