Messages in this thread | | | Subject | Re: SMP races in proc with thread_struct | From | Andreas Schwab <> | Date | 04 May 2001 15:11:37 +0200 |
| |
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/
| |