lkml.org 
[lkml]   [2001]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: SMP races in proc with thread_struct
    Andreas Schwab wrote:
    >
    > 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.

    The virtual address being accessed is irrelevant. It's the address of
    the faulting instruction that determines what the kernel will do if it
    can't deal with a page fault. If the access was made from kernel mode
    the exception handler (if there is one) always gets invoked, otherwise
    it oopses.

    --

    Brian Gerst
    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 13:17    [W:0.021 / U:31.944 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site