pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/36939 CVS commit: src/sys



The following reply was made to PR pkg/36939; it has been noted by GNATS.

From: David Laight <dsl%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: PR/36939 CVS commit: src/sys
Date: Sat, 29 Sep 2007 12:22:32 +0000 (UTC)

 Module Name:   src
 Committed By:  dsl
 Date:          Sat Sep 29 12:22:32 UTC 2007
 
 Modified Files:
        src/sys/compat/irix: irix_prctl.c
        src/sys/compat/netbsd32: netbsd32_netbsd.c
        src/sys/kern: kern_acct.c kern_fork.c kern_proc.c kern_resource.c
        src/sys/sys: proc.h resourcevar.h
 
 Log Message:
 Change the way p->p_limit (and hence p->p_rlimit) is locked.
 Should fix PR/36939 and make the rlimit code MP safe.
 Posted for comment to tech-kern (non received!)
 
 The p_limit field (for a process) is only be changed once (on the first
   write), and a reference to the old structure is kept (for code paths
   that have cached the pointer).
 Only p->p_limit is now locked by p->p_mutex, and since the referenced memory
   will not go away, is only needed if the pointer is to be changed.
 The contents of 'struct plimit' are all locked by pl_mutex, except that the
   code doesn't bother to acquire it for reads (which are basically atomic).
 Add FORK_SHARELIMIT that causes fork1() to share the limits between parent
   and child, use it for the IRIX_PR_SULIMIT.
 Fix borked test for both IRIX_PR_SUMASK and IRIX_PR_SDIR being set.
 
 
 To generate a diff of this commit:
 cvs rdiff -r1.38 -r1.39 src/sys/compat/irix/irix_prctl.c
 cvs rdiff -r1.127 -r1.128 src/sys/compat/netbsd32/netbsd32_netbsd.c
 cvs rdiff -r1.76 -r1.77 src/sys/kern/kern_acct.c
 cvs rdiff -r1.143 -r1.144 src/sys/kern/kern_fork.c
 cvs rdiff -r1.116 -r1.117 src/sys/kern/kern_proc.c
 cvs rdiff -r1.121 -r1.122 src/sys/kern/kern_resource.c
 cvs rdiff -r1.254 -r1.255 src/sys/sys/proc.h
 cvs rdiff -r1.39 -r1.40 src/sys/sys/resourcevar.h
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 



Home | Main Index | Thread Index | Old Index