Index: include/rpcsvc/bootparam_prot.x =================================================================== RCS file: /home/ncvs/src/include/rpcsvc/bootparam_prot.x,v retrieving revision 1.5 diff -u -r1.5 bootparam_prot.x --- include/rpcsvc/bootparam_prot.x 1999/08/27 23:45:07 1.5 +++ include/rpcsvc/bootparam_prot.x 2000/11/28 08:59:46 @@ -43,7 +43,6 @@ %#include %#include %#include -%#include #else %#ifndef lint %/*static char sccsid[] = "from: @(#)bootparam_prot.x 1.2 87/06/24 Copyr 1987 Sun Micro";*/ Index: lib/libc/gen/getmntinfo.c =================================================================== RCS file: /home/ncvs/src/lib/libc/gen/getmntinfo.c,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 getmntinfo.c --- lib/libc/gen/getmntinfo.c 1994/05/27 04:56:40 1.1.1.1 +++ lib/libc/gen/getmntinfo.c 2000/11/28 07:50:58 @@ -36,7 +36,6 @@ #endif /* LIBC_SCCS and not lint */ #include -#include #include #include Index: lib/libkvm/kvm_getswapinfo.c =================================================================== RCS file: /home/ncvs/src/lib/libkvm/kvm_getswapinfo.c,v retrieving revision 1.12 diff -u -r1.12 kvm_getswapinfo.c --- lib/libkvm/kvm_getswapinfo.c 2000/04/16 17:36:48 1.12 +++ lib/libkvm/kvm_getswapinfo.c 2000/11/28 08:18:52 @@ -19,7 +19,6 @@ #include #include -#include #include #include #include Index: sys/alpha/alpha/promcons.c =================================================================== RCS file: /home/ncvs/src/sys/alpha/alpha/promcons.c,v retrieving revision 1.16 diff -u -r1.16 promcons.c --- sys/alpha/alpha/promcons.c 2000/03/18 08:02:35 1.16 +++ sys/alpha/alpha/promcons.c 2000/11/28 07:52:19 @@ -36,7 +36,6 @@ #include #include #include -#include #include #include Index: sys/alpha/tlsb/zs_tlsb.c =================================================================== RCS file: /home/ncvs/src/sys/alpha/tlsb/zs_tlsb.c,v retrieving revision 1.26 diff -u -r1.26 zs_tlsb.c --- sys/alpha/tlsb/zs_tlsb.c 2000/03/18 07:46:05 1.26 +++ sys/alpha/tlsb/zs_tlsb.c 2000/11/28 07:53:37 @@ -40,7 +40,6 @@ #include #include #include -#include #include #include Index: sys/coda/coda_fbsd.c =================================================================== RCS file: /home/ncvs/src/sys/coda/coda_fbsd.c,v retrieving revision 1.19 diff -u -r1.19 coda_fbsd.c --- sys/coda/coda_fbsd.c 2000/10/29 13:56:26 1.19 +++ sys/coda/coda_fbsd.c 2000/11/28 07:23:29 @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include Index: sys/coda/coda_namecache.c =================================================================== RCS file: /home/ncvs/src/sys/coda/coda_namecache.c,v retrieving revision 1.10 diff -u -r1.10 coda_namecache.c --- sys/coda/coda_namecache.c 1999/08/28 00:40:53 1.10 +++ sys/coda/coda_namecache.c 2000/11/28 07:23:29 @@ -79,6 +79,7 @@ #include #include #include +#include #include #include Index: sys/dev/an/if_an.c =================================================================== RCS file: /home/ncvs/src/sys/dev/an/if_an.c,v retrieving revision 1.12 diff -u -r1.12 if_an.c --- sys/dev/an/if_an.c 2000/11/13 23:04:12 1.12 +++ sys/dev/an/if_an.c 2000/11/28 07:23:29 @@ -95,7 +95,6 @@ #include #include #include -#include #include #ifdef ANCACHE #include Index: sys/gnu/ext2fs/ext2_balloc.c =================================================================== RCS file: /home/ncvs/src/sys/gnu/ext2fs/ext2_balloc.c,v retrieving revision 1.10 diff -u -r1.10 ext2_balloc.c --- sys/gnu/ext2fs/ext2_balloc.c 2000/05/05 09:57:55 1.10 +++ sys/gnu/ext2fs/ext2_balloc.c 2000/11/28 07:23:29 @@ -45,7 +45,6 @@ #include #include #include -#include #include #include Index: sys/gnu/ext2fs/ext2_subr.c =================================================================== RCS file: /home/ncvs/src/sys/gnu/ext2fs/ext2_subr.c,v retrieving revision 1.14 diff -u -r1.14 ext2_subr.c --- sys/gnu/ext2fs/ext2_subr.c 2000/05/05 09:57:58 1.14 +++ sys/gnu/ext2fs/ext2_subr.c 2000/11/28 07:23:29 @@ -46,7 +46,6 @@ #include #include -#include #include #include #include Index: sys/i386/isa/if_wi.c =================================================================== RCS file: /home/ncvs/src/sys/i386/isa/if_wi.c,v retrieving revision 1.28 diff -u -r1.28 if_wi.c --- sys/i386/isa/if_wi.c 2000/10/29 16:06:31 1.28 +++ sys/i386/isa/if_wi.c 2000/11/28 07:23:29 @@ -73,7 +73,6 @@ #include #include #include -#include #include #include #include Index: sys/ia64/ia64/ssc.c =================================================================== RCS file: /home/ncvs/src/sys/ia64/ia64/ssc.c,v retrieving revision 1.3 diff -u -r1.3 ssc.c --- sys/ia64/ia64/ssc.c 2000/10/04 17:52:58 1.3 +++ sys/ia64/ia64/ssc.c 2000/11/28 07:23:29 @@ -33,7 +33,6 @@ #include #include #include -#include #include #include Index: sys/kern/kern_prot.c =================================================================== RCS file: /home/ncvs/src/sys/kern/kern_prot.c,v retrieving revision 1.68 diff -u -r1.68 kern_prot.c --- sys/kern/kern_prot.c 2000/11/27 00:09:16 1.68 +++ sys/kern/kern_prot.c 2000/11/28 07:23:29 @@ -1138,6 +1138,20 @@ } /* + * Claim another referernce to a ucred structure + */ +void +crhold(cr) + struct ucred *cr; +{ + + mtx_enter(&cr->cr_mtx, MTX_DEF); + cr->cr_ref++; + mtx_exit(&(cr)->cr_mtx, MTX_DEF); +} + + +/* * Free a cred structure. * Throws away space when ref count gets to 0. */ Index: sys/kern/kern_resource.c =================================================================== RCS file: /home/ncvs/src/sys/kern/kern_resource.c,v retrieving revision 1.66 diff -u -r1.66 kern_resource.c --- sys/kern/kern_resource.c 2000/11/26 12:08:17 1.66 +++ sys/kern/kern_resource.c 2000/11/28 07:23:29 @@ -51,6 +51,7 @@ #include #include #include +#include #include #include @@ -58,6 +59,18 @@ #include #include +/* + * Per uid resource consumption + */ +struct uidinfo { + LIST_ENTRY(uidinfo) ui_hash; + rlim_t ui_sbsize; /* socket buffer space consumed */ + long ui_proccnt; /* number of processes */ + uid_t ui_uid; /* uid */ + u_short ui_ref; /* reference count */ + struct mtx ui_mtx; /* protect all counts/limits */ +}; + static int donice __P((struct proc *curp, struct proc *chgp, int n)); /* dosetrlimit non-static: Needed by SysVR4 emulator */ int dosetrlimit __P((struct proc *p, u_int which, struct rlimit *limp)); @@ -728,6 +741,19 @@ } /* + * place another refcount on a uidinfo struct + */ +void +uihold(uip) +struct uidinfo *uip; +{ + + mtx_enter(&uip->ui_mtx, MTX_DEF); + uip->ui_ref++; + mtx_exit(&uip->ui_mtx, MTX_DEF); +} + +/* * subtract one from the refcount in the struct uidinfo, if 0 free it */ void @@ -793,8 +819,8 @@ rlim_t new; int s; - mtx_enter(&uip->ui_mtx, MTX_DEF); s = splnet(); + mtx_enter(&uip->ui_mtx, MTX_DEF); new = uip->ui_sbsize + to - *hiwat; /* don't allow them to exceed max, but allow subtraction */ if (to > *hiwat && new > max) { Index: sys/kern/sys_socket.c =================================================================== RCS file: /home/ncvs/src/sys/kern/sys_socket.c,v retrieving revision 1.32 diff -u -r1.32 sys_socket.c --- sys/kern/sys_socket.c 2000/07/03 00:05:40 1.32 +++ sys/kern/sys_socket.c 2000/11/28 07:23:29 @@ -45,6 +45,7 @@ #include #include #include +#include #include #include Index: sys/kern/sysv_ipc.c =================================================================== RCS file: /home/ncvs/src/sys/kern/sysv_ipc.c,v retrieving revision 1.16 diff -u -r1.16 sysv_ipc.c --- sys/kern/sysv_ipc.c 2000/10/29 16:06:34 1.16 +++ sys/kern/sysv_ipc.c 2000/11/28 07:23:29 @@ -37,6 +37,7 @@ #include #include #include +#include #include #if defined(SYSVSEM) || defined(SYSVSHM) || defined(SYSVMSG) Index: sys/sys/mount.h =================================================================== RCS file: /home/ncvs/src/sys/sys/mount.h,v retrieving revision 1.98 diff -u -r1.98 mount.h --- sys/sys/mount.h 2000/10/13 14:04:26 1.98 +++ sys/sys/mount.h 2000/11/28 07:23:29 @@ -37,6 +37,7 @@ #ifndef _SYS_MOUNT_H_ #define _SYS_MOUNT_H_ +#include #include #include #include Index: sys/sys/proc.h =================================================================== RCS file: /home/ncvs/src/sys/sys/proc.h,v retrieving revision 1.125 diff -u -r1.125 proc.h --- sys/sys/proc.h 2000/11/27 22:52:31 1.125 +++ sys/sys/proc.h 2000/11/28 07:23:29 @@ -52,6 +52,7 @@ #ifndef _KERNEL #include /* For structs itimerval, timeval. */ #endif +#include #include #include /* For struct klist */ Index: sys/sys/resourcevar.h =================================================================== RCS file: /home/ncvs/src/sys/sys/resourcevar.h,v retrieving revision 1.18 diff -u -r1.18 resourcevar.h --- sys/sys/resourcevar.h 2000/11/26 12:08:17 1.18 +++ sys/sys/resourcevar.h 2000/11/28 07:23:29 @@ -82,27 +82,10 @@ rlim_t p_cpulimit; /* current cpu limit in usec */ }; -/* - * Per uid resource consumption - */ -struct uidinfo { - LIST_ENTRY(uidinfo) ui_hash; - rlim_t ui_sbsize; /* socket buffer space consumed */ - long ui_proccnt; /* number of processes */ - uid_t ui_uid; /* uid */ - u_short ui_ref; /* reference count */ - struct mtx ui_mtx; /* protect counts */ -}; - #ifdef _KERNEL -#define uihold(uip) \ - do { \ - mtx_enter(&(uip)->ui_mtx, MTX_DEF); \ - (uip)->ui_ref++; \ - mtx_exit(&(uip)->ui_mtx, MTX_DEF); \ - } while(0) struct proc; +struct uidinfo; void addupc_intr __P((struct proc *p, u_long pc, u_int ticks)); void addupc_task __P((struct proc *p, u_long pc, u_int ticks)); @@ -118,6 +101,7 @@ int suswintr __P((void *base, int word)); struct uidinfo *uifind __P((uid_t uid)); +void uihold __P((struct uidinfo *uip)); void uifree __P((struct uidinfo *uip)); void uihashinit __P((void)); #endif Index: sys/sys/ucred.h =================================================================== RCS file: /home/ncvs/src/sys/sys/ucred.h,v retrieving revision 1.18 diff -u -r1.18 ucred.h --- sys/sys/ucred.h 2000/11/27 00:09:16 1.18 +++ sys/sys/ucred.h 2000/11/28 07:23:29 @@ -37,8 +37,6 @@ #ifndef _SYS_UCRED_H_ #define _SYS_UCRED_H_ -#include - /* * Credentials. * @@ -58,12 +56,6 @@ #define FSCRED ((struct ucred *)-1) /* filesystem credential */ #ifdef _KERNEL -#define crhold(cr) \ - do { \ - mtx_enter(&(cr)->cr_mtx, MTX_DEF); \ - (cr)->cr_ref++; \ - mtx_exit(&(cr)->cr_mtx, MTX_DEF); \ - } while (0) struct proc; @@ -71,6 +63,7 @@ void change_ruid __P((struct proc *p, uid_t ruid)); struct ucred *crcopy __P((struct ucred *cr)); struct ucred *crdup __P((struct ucred *cr)); +void crhold __P((struct ucred *cr)); void crfree __P((struct ucred *cr)); struct ucred *crget __P((void)); int groupmember __P((gid_t gid, struct ucred *cred)); Index: sys/sys/user.h =================================================================== RCS file: /home/ncvs/src/sys/sys/user.h,v retrieving revision 1.24 diff -u -r1.24 user.h --- sys/sys/user.h 1999/12/29 04:24:49 1.24 +++ sys/sys/user.h 2000/11/28 07:23:29 @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include Index: sys/vm/vm_pager.c =================================================================== RCS file: /home/ncvs/src/sys/vm/vm_pager.c,v retrieving revision 1.65 diff -u -r1.65 vm_pager.c --- sys/vm/vm_pager.c 2000/10/29 14:54:55 1.65 +++ sys/vm/vm_pager.c 2000/11/28 09:54:26 @@ -75,7 +75,6 @@ #include #include #include -#include #include #include Index: usr.bin/find/function.c =================================================================== RCS file: /home/ncvs/src/usr.bin/find/function.c,v retrieving revision 1.27 diff -u -r1.27 function.c --- usr.bin/find/function.c 2000/07/28 20:02:42 1.27 +++ usr.bin/find/function.c 2000/11/28 07:55:10 @@ -44,7 +44,6 @@ #endif /* not lint */ #include -#include #include #include #include Index: usr.sbin/inetd/builtins.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/inetd/builtins.c,v retrieving revision 1.26 diff -u -r1.26 builtins.c --- usr.sbin/inetd/builtins.c 2000/11/25 04:13:05 1.26 +++ usr.sbin/inetd/builtins.c 2000/11/28 09:04:45 @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include #include Index: usr.sbin/rpc.umntall/rpc.umntall.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/rpc.umntall/rpc.umntall.c,v retrieving revision 1.3 diff -u -r1.3 rpc.umntall.c --- usr.sbin/rpc.umntall/rpc.umntall.c 2000/01/15 14:28:14 1.3 +++ usr.sbin/rpc.umntall/rpc.umntall.c 2000/11/28 07:58:19 @@ -31,7 +31,6 @@ #endif /* not lint */ #include -#include #include #include