Re: SMP races in proc with thread_struct

From: Andreas Schwab (schwab@suse.de)
Date: Fri May 04 2001 - 08:11:37 EST


Keith Owens <kaos@ocs.com.au> writes:

|> On Fri, 04 May 2001 07:34:20 -0500,
|> Todd Inglett <tinglett@vnet.ibm.com> wrote:
|> >But this is where hell breaks loose. Every process has a valid parent
|> >-- unless it is dead and nobody cares. Process N has already exited and
|> >released from the tasklist while its parent was still alive. There was
|> >no reason to reparent it. It just got released. So N's task_struct has
|> >a dangling ptr to its parent. Nobody is holding the parent task_struct,
|> >either. When the parent died memory for its task_struct was released.
|> >This is ungood.
|>
|> Wrap the reference to the parent task structure with exception table
|> recovery code, like copy_from_user().

Exception tables only protect accesses to user virtual memory. Kernel
memory references must always be valid in the first place.

Andreas.

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
Andreas.Schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
-
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/



This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:20 EST