Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Nov 2000 13:01:05 -0800 (PST)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern kern_descrip.c kern_event.c kern_random.c sys_generic.c sys_pipe.c uipc_syscalls.c vfs_aio.c vfs_syscalls.c src/sys/nfs nfs_syscalls.c src/sys/svr4 svr4_signal.c src/sys/sys filedesc.h socketvar.h src/sys/vm swap_pager.c vm_mmap.c
Message-ID:  <200011182101.NAA26312@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      2000/11/18 13:01:05 PST

  Modified files:
    sys/kern             kern_descrip.c kern_event.c kern_random.c 
                         sys_generic.c sys_pipe.c uipc_syscalls.c 
                         vfs_aio.c vfs_syscalls.c 
    sys/nfs              nfs_syscalls.c 
    sys/svr4             svr4_signal.c 
    sys/sys              filedesc.h socketvar.h 
    sys/vm               swap_pager.c vm_mmap.c 
  Log:
      This patchset fixes a large number of file descriptor race conditions.
      Pre-rfork code assumed inherent locking of a process's file descriptor
      array.  However, with the advent of rfork() the file descriptor table
      could be shared between processes.  This patch closes over a dozen
      serious race conditions related to one thread manipulating the table
      (e.g. closing or dup()ing a descriptor) while another is blocked in
      an open(), close(), fcntl(), read(), write(), etc...
  
  PR: kern/11629
  Discussed with: Alexander Viro <viro@math.psu.edu>
  
  Revision  Changes    Path
  1.94      +239 -90   src/sys/kern/kern_descrip.c
  1.17      +29 -12    src/sys/kern/kern_event.c
  1.39      +7 -4      src/sys/kern/Attic/kern_random.c
  1.64      +61 -27    src/sys/kern/sys_generic.c
  1.67      +8 -3      src/sys/kern/sys_pipe.c
  1.77      +152 -67   src/sys/kern/uipc_syscalls.c
  1.86      +33 -6     src/sys/kern/vfs_aio.c
  1.172     +76 -11    src/sys/kern/vfs_syscalls.c
  1.62      +6 -3      src/sys/nfs/nfs_syscalls.c
  1.11      +3 -3      src/sys/svr4/Attic/svr4_signal.c
  1.26      +5 -3      src/sys/sys/filedesc.h
  1.53      +2 -2      src/sys/sys/socketvar.h
  1.146     +5 -3      src/sys/vm/swap_pager.c
  1.117     +38 -16    src/sys/vm/vm_mmap.c



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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