Re: doublefault debugging (was Re: Linux v2.5.62 --- spontaneous

Linus Torvalds (torvalds@transmeta.com)
Thu, 20 Feb 2003 12:17:05 -0800 (PST)


On Thu, 20 Feb 2003, Ingo Molnar wrote:
>
> ie. something like:

Well, please remove the double test for task inequality.

I like the patch conceptually, HOWEVER, I'm not sure it's correct. The
thing is, moving the wait_task_inactive() to __put_task_struct() means
that we will be doing the "release_task()" teardown while the task is
still potentially active on another CPU.

In particular, we'll be freeing the security stuff and the signals while
the process may still be active in the scheduler on another CPU. This can
be dangerous, ie doing things like calling "free_uid()" on a process that
is still running means that suddenly you have issues like not being able
to trust "current->user" from interrupts. We may not care right now, but
it's still wrong (imagine us doing per-user time accounting - which makes
a _lot_ of sense).

Linus

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