Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jun 2002 23:39:25 -0700 (PDT)
From:      Alfred Perlstein <alfred@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/sys ucred.h src/sys/kern kern_exec.c kern_prot.c src/sys/alpha/osf1 osf1_misc.c
Message-ID:  <200206190639.g5J6dPs05938@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
alfred      2002/06/18 23:39:25 PDT

  Modified files:
    sys/sys              ucred.h 
    sys/kern             kern_exec.c kern_prot.c 
    sys/alpha/osf1       osf1_misc.c 
  Log:
  Squish the "could sleep with process lock" messages caused by calling
  uifind() with a proc lock held.
  
  change_ruid() and change_euid() have been modified to take a uidinfo
  structure which will be pre-allocated by callers, they will then
  call uihold() on the uidinfo structure so that the caller's logic
  is simplified.
  
  This allows one to call uifind() before locking the proc struct and
  thereby avoid a potential blocking allocation with the proc lock
  held.
  
  This may need revisiting, perhaps keeping a spare uidinfo allocated
  per process to handle this situation or re-examining if the proc
  lock needs to be held over the entire operation of changing real
  or effective user id.
  
  Submitted by: Don Lewis <dl-freebsd@catspoiler.org>
  
  Revision  Changes    Path
  1.31      +6 -2      src/sys/alpha/osf1/osf1_misc.c
  1.165     +4 -1      src/sys/kern/kern_exec.c
  1.158     +40 -14    src/sys/kern/kern_prot.c
  1.35      +2 -2      src/sys/sys/ucred.h

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?200206190639.g5J6dPs05938>