Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Oct 2004 17:10:48 +0000 (UTC)
From:      David Schultz <das@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/linux linux_ptrace.c
Message-ID:  <200410091710.i99HAmMN011788@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
das         2004-10-09 17:10:48 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_5)
    sys/i386/linux       linux_ptrace.c 
  Log:
  MFC src/sys/i386/linux/linux_ptrace.c, v1.14
  | Fix the following race:
  |
  |   1. Process p1 is currently being swapped in.
  |   2. Process p2 calls linux_ptrace(PTRACE_GETFPXREGS, p1_pid, ...)
  |   3. After acquiring a reference to FIRST_THREAD_IN_PROC(p1),
  |      p2 blocks in faultin() while p1 finishes being swapped in.
  |      This means p2 won't get back the lock on p1 until after p1's
  |      threads are runnable.
  |   4. After p1 is swapped in, the first thread in p1 exits.
  |   5. p2 now uses its dangling reference to p1's first thread.
  
  Approved by:    re (scottl)
  
  Revision  Changes    Path
  1.13.2.1  +4 -3      src/sys/i386/linux/linux_ptrace.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410091710.i99HAmMN011788>