Date: Tue, 7 Feb 2006 17:15:15 GMT From: Warner Losh <imp@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 91318 for review Message-ID: <200602071715.k17HFFvG095266@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=91318 Change 91318 by imp@imp_harmony on 2006/02/07 17:14:34 IFC @91316 Affected files ... .. //depot/projects/arm/src/sys/alpha/linux/linux_machdep.c#2 integrate .. //depot/projects/arm/src/sys/alpha/osf1/osf1_misc.c#3 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_machdep.c#3 integrate .. //depot/projects/arm/src/sys/arm/include/atomic.h#5 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_misc.c#6 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_stats.c#6 integrate .. //depot/projects/arm/src/sys/compat/svr4/svr4_misc.c#3 integrate .. //depot/projects/arm/src/sys/conf/files#17 integrate .. //depot/projects/arm/src/sys/conf/kern.post.mk#7 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-chipset.c#10 integrate .. //depot/projects/arm/src/sys/dev/em/if_em.c#13 integrate .. //depot/projects/arm/src/sys/fs/nullfs/null_vfsops.c#4 integrate .. //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_proto.h#3 integrate .. //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_syscall.h#3 integrate .. //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_sysent.c#3 integrate .. //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_xenix.c#3 integrate .. //depot/projects/arm/src/sys/i386/ibcs2/syscalls.master#3 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/arm/src/sys/ia64/ia64/mca.c#2 integrate .. //depot/projects/arm/src/sys/kern/init_main.c#4 integrate .. //depot/projects/arm/src/sys/kern/kern_acct.c#5 integrate .. //depot/projects/arm/src/sys/kern/kern_exec.c#6 integrate .. //depot/projects/arm/src/sys/kern/kern_exit.c#9 integrate .. //depot/projects/arm/src/sys/kern/kern_fork.c#5 integrate .. //depot/projects/arm/src/sys/kern/kern_kse.c#4 integrate .. //depot/projects/arm/src/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/arm/src/sys/kern/kern_shutdown.c#3 integrate .. //depot/projects/arm/src/sys/kern/sys_process.c#4 integrate .. //depot/projects/arm/src/sys/kern/vfs_cache.c#3 integrate .. //depot/projects/arm/src/sys/kern/vfs_lookup.c#6 integrate .. //depot/projects/arm/src/sys/kern/vfs_mount.c#10 integrate .. //depot/projects/arm/src/sys/kern/vfs_subr.c#10 integrate .. //depot/projects/arm/src/sys/kern/vfs_syscalls.c#9 integrate .. //depot/projects/arm/src/sys/netgraph/ng_eiface.c#5 integrate .. //depot/projects/arm/src/sys/netinet/ip_input.c#10 integrate .. //depot/projects/arm/src/sys/security/audit/audit.c#3 integrate .. //depot/projects/arm/src/sys/security/audit/audit_pipe.c#1 branch .. //depot/projects/arm/src/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/arm/src/sys/sys/imgact.h#3 integrate .. //depot/projects/arm/src/sys/sys/mount.h#7 integrate .. //depot/projects/arm/src/sys/sys/ptrace.h#3 integrate .. //depot/projects/arm/src/sys/sys/syscallsubr.h#4 integrate .. //depot/projects/arm/src/sys/sys/systm.h#8 integrate .. //depot/projects/arm/src/sys/vm/vnode_pager.c#6 integrate Differences ... ==== //depot/projects/arm/src/sys/alpha/linux/linux_machdep.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/linux/linux_machdep.c,v 1.36 2005/02/18 18:32:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/linux/linux_machdep.c,v 1.37 2006/02/06 22:06:52 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -81,7 +81,6 @@ free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } ==== //depot/projects/arm/src/sys/alpha/osf1/osf1_misc.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.58 2005/09/28 07:03:01 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.59 2006/02/06 22:06:52 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1246,7 +1246,6 @@ free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } ==== //depot/projects/arm/src/sys/amd64/linux32/linux32_machdep.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.10 2005/06/24 17:41:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.11 2006/02/06 22:06:53 jhb Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -205,7 +205,6 @@ free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } ==== //depot/projects/arm/src/sys/arm/include/atomic.h#5 (text+ko) ==== @@ -33,7 +33,7 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/atomic.h,v 1.16 2006/02/05 22:06:12 cognet Exp $ + * $FreeBSD: src/sys/arm/include/atomic.h,v 1.17 2006/02/06 18:29:05 cognet Exp $ */ #ifndef _MACHINE_ATOMIC_H_ @@ -163,7 +163,7 @@ "moveq %1, #1\n" "movne %1, #0\n" : "=r" (ras_start), "=r" (done) - ,"+r" (p), "+r" (cmpval), "+r" (newval)); + ,"+r" (p), "+r" (cmpval), "+r" (newval) : : "memory"); return (done); } @@ -185,7 +185,8 @@ "2:\n" "mov %1, #0\n" "str %1, [%0]\n" - : "=r" (ras_start), "=r" (start), "+r" (p), "+r" (val)); + : "=r" (ras_start), "=r" (start), "+r" (p), "+r" (val) + : : "memory"); } static __inline void @@ -207,7 +208,8 @@ "mov %1, #0\n" "str %1, [%0]\n" - : "=r" (ras_start), "=r" (start), "+r" (p), "+r" (val)); + : "=r" (ras_start), "=r" (start), "+r" (p), "+r" (val) + : : "memory"); } static __inline void @@ -229,7 +231,8 @@ "mov %1, #0\n" "str %1, [%0]\n" - : "=r" (ras_start), "=r" (start), "+r" (address), "+r" (setmask)); + : "=r" (ras_start), "=r" (start), "+r" (address), "+r" (setmask) + : : "memory"); } static __inline void @@ -250,7 +253,8 @@ "2:\n" "mov %1, #0\n" "str %1, [%0]\n" - : "=r" (ras_start), "=r" (start), "+r" (address), "+r" (clearmask)); + : "=r" (ras_start), "=r" (start), "+r" (address), "+r" (clearmask) + : : "memory"); } @@ -272,7 +276,8 @@ "2:\n" "mov %3, #0\n" "str %3, [%0]\n" - : "=r" (ras_start), "=r" (start), "+r" (p), "+r" (v)); + : "=r" (ras_start), "=r" (start), "+r" (p), "+r" (v) + : : "memory"); return (start); } ==== //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_misc.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.49 2006/01/20 16:22:06 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.50 2006/02/06 22:06:53 jhb Exp $"); #include "opt_compat.h" @@ -324,7 +324,6 @@ uap->argv, uap->envv); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } ==== //depot/projects/arm/src/sys/compat/linux/linux_stats.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.74 2006/01/26 21:48:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.75 2006/02/06 10:10:42 jeff Exp $"); #include "opt_mac.h" @@ -311,54 +311,6 @@ #endif return (EOPNOTSUPP); - -#ifdef not_that_way - struct l_ustat lu; - struct cdev *dev; - struct vnode *vp; - struct statfs *stat; - int error; - - - /* - * lu.f_fname and lu.f_fpack are not used. They are always zeroed. - * lu.f_tinode and lu.f_tfree are set from the device's super block. - */ - bzero(&lu, sizeof(lu)); - - /* - * XXX - Don't return an error if we can't find a vnode for the - * device. Our struct cdev *is 32-bits whereas Linux only has a 16-bits - * struct cdev *. The struct cdev *that is used now may as well be a truncated - * struct cdev *returned from previous syscalls. Just return a bzeroed - * ustat in that case. - * - * XXX: findcdev() SHALL not be used this way. Somebody (TM) will - * have to find a better way. It may be that we should stick - * a dev_t into struct mount, and walk the mountlist for a - * perfect match and failing that try again looking for a - * minor-truncated match. - */ - dev = findcdev(makedev(args->dev >> 8, args->dev & 0xFF)); - if (dev != NULL && vfinddev(dev, &vp)) { - if (vp->v_mount == NULL) - return (EINVAL); -#ifdef MAC - error = mac_check_mount_stat(td->td_ucred, vp->v_mount); - if (error) - return (error); -#endif - stat = &(vp->v_mount->mnt_stat); - error = VFS_STATFS(vp->v_mount, stat, td); - if (error) - return (error); - - lu.f_tfree = stat->f_bfree; - lu.f_tinode = stat->f_ffree; - } - - return (copyout(&lu, args->ubuf, sizeof(lu))); -#endif } #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) ==== //depot/projects/arm/src/sys/compat/svr4/svr4_misc.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.83 2005/10/19 09:33:15 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.84 2006/02/06 22:06:53 jhb Exp $"); #include "opt_mac.h" @@ -175,7 +175,6 @@ free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } @@ -195,7 +194,6 @@ free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } ==== //depot/projects/arm/src/sys/conf/files#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1093 2006/02/03 00:36:19 mjacob Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1095 2006/02/06 22:50:39 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1829,13 +1829,14 @@ posix4/p1003_1b.c standard posix4/posix4_mib.c standard rpc/rpcclnt.c optional nfsclient +security/audit/audit.c optional audit security/audit/audit_arg.c optional audit -security/audit/audit_syscalls.c standard -security/audit/audit_trigger.c optional audit -security/audit/audit.c optional audit security/audit/audit_bsm.c optional audit security/audit/audit_bsm_klib.c optional audit security/audit/audit_bsm_token.c optional audit +security/audit/audit_pipe.c optional audit +security/audit/audit_syscalls.c standard +security/audit/audit_trigger.c optional audit security/mac/mac_inet.c optional mac inet security/mac/mac_label.c optional mac security/mac/mac_net.c optional mac ==== //depot/projects/arm/src/sys/conf/kern.post.mk#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.post.mk,v 1.91 2006/01/16 16:25:17 ru Exp $ +# $FreeBSD: src/sys/conf/kern.post.mk,v 1.92 2006/02/07 13:37:26 ru Exp $ # Part of a unified Makefile for building kernels. This part includes all # the definitions that need to be after all the % directives except %RULES @@ -44,7 +44,7 @@ kernel-all: ${KERNEL_KO} -kernel-cleandir: kernel-clean +kernel-cleandir: kernel-clean kernel-cleandepend kernel-clobber: find . -maxdepth 1 ! -type d ! -name version -delete ==== //depot/projects/arm/src/sys/dev/ata/ata-chipset.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.155 2006/01/25 23:07:42 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.156 2006/02/06 19:17:48 sos Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -1897,7 +1897,7 @@ } /* any drive action to take care of ? */ - return 1; + return ata_pci_status(dev); } static int ==== //depot/projects/arm/src/sys/dev/em/if_em.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.105 2006/01/30 13:45:55 glebius Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.106 2006/02/07 13:11:13 glebius Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -1101,6 +1101,7 @@ struct adapter *adapter = context; struct ifnet *ifp; + NET_LOCK_GIANT(); ifp = adapter->ifp; /* @@ -1120,7 +1121,7 @@ } em_enable_intr(adapter); - return; + NET_UNLOCK_GIANT(); } #endif ==== //depot/projects/arm/src/sys/fs/nullfs/null_vfsops.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ * @(#)null_vfsops.c 8.2 (Berkeley) 1/21/94 * * @(#)lofs_vfsops.c 1.2 (Berkeley) 6/18/92 - * $FreeBSD: src/sys/fs/nullfs/null_vfsops.c,v 1.75 2005/12/14 00:49:50 des Exp $ + * $FreeBSD: src/sys/fs/nullfs/null_vfsops.c,v 1.76 2006/02/07 11:31:32 jeff Exp $ */ /* @@ -112,7 +112,7 @@ /* * Find lower node */ - NDINIT(ndp, LOOKUP, FOLLOW|WANTPARENT|LOCKLEAF, + NDINIT(ndp, LOOKUP, FOLLOW|LOCKLEAF, UIO_SYSSPACE, target, td); error = namei(ndp); /* @@ -130,9 +130,6 @@ */ lowerrootvp = ndp->ni_vp; - vrele(ndp->ni_dvp); - ndp->ni_dvp = NULLVP; - /* * Check multi null mount to avoid `lock against myself' panic. */ ==== //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_misc.c#3 (text+ko) ==== @@ -47,7 +47,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/ibcs2/ibcs2_misc.c,v 1.61 2005/07/07 19:29:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/ibcs2/ibcs2_misc.c,v 1.62 2006/02/06 22:06:53 jhb Exp $"); /* * IBCS2 compatibility module. @@ -207,7 +207,6 @@ free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } @@ -227,7 +226,6 @@ free(path, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } ==== //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_proto.h#3 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_proto.h,v 1.22 2005/07/13 20:35:08 jhb Exp $ + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_proto.h,v 1.23 2006/02/06 22:15:00 rwatson Exp $ * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.21 2005/07/13 20:32:42 jhb Exp */ ==== //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_syscall.h#3 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_syscall.h,v 1.19 2005/07/13 20:35:08 jhb Exp $ + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_syscall.h,v 1.20 2006/02/06 22:15:00 rwatson Exp $ * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.21 2005/07/13 20:32:42 jhb Exp */ ==== //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_sysent.c#3 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_sysent.c,v 1.24 2005/07/13 20:35:08 jhb Exp $ + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_sysent.c,v 1.25 2006/02/06 22:15:00 rwatson Exp $ * created from FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.21 2005/07/13 20:32:42 jhb Exp */ @@ -19,68 +19,68 @@ /* The casts are bogus but will do for now. */ struct sysent ibcs2_sysent[] = { { SYF_MPSAFE | 0, (sy_call_t *)nosys, AUE_NULL }, /* 0 = syscall */ - { SYF_MPSAFE | AS(sys_exit_args), (sy_call_t *)sys_exit, AUE_NULL }, /* 1 = exit */ - { SYF_MPSAFE | 0, (sy_call_t *)fork, AUE_NULL }, /* 2 = fork */ + { SYF_MPSAFE | AS(sys_exit_args), (sy_call_t *)sys_exit, AUE_EXIT }, /* 1 = exit */ + { SYF_MPSAFE | 0, (sy_call_t *)fork, AUE_FORK }, /* 2 = fork */ { AS(ibcs2_read_args), (sy_call_t *)ibcs2_read, AUE_NULL }, /* 3 = ibcs2_read */ { SYF_MPSAFE | AS(write_args), (sy_call_t *)write, AUE_NULL }, /* 4 = write */ - { SYF_MPSAFE | AS(ibcs2_open_args), (sy_call_t *)ibcs2_open, AUE_NULL }, /* 5 = ibcs2_open */ - { SYF_MPSAFE | AS(close_args), (sy_call_t *)close, AUE_NULL }, /* 6 = close */ - { SYF_MPSAFE | AS(ibcs2_wait_args), (sy_call_t *)ibcs2_wait, AUE_NULL }, /* 7 = ibcs2_wait */ - { SYF_MPSAFE | AS(ibcs2_creat_args), (sy_call_t *)ibcs2_creat, AUE_NULL }, /* 8 = ibcs2_creat */ - { SYF_MPSAFE | AS(link_args), (sy_call_t *)link, AUE_NULL }, /* 9 = link */ - { SYF_MPSAFE | AS(ibcs2_unlink_args), (sy_call_t *)ibcs2_unlink, AUE_NULL }, /* 10 = ibcs2_unlink */ - { SYF_MPSAFE | AS(ibcs2_execv_args), (sy_call_t *)ibcs2_execv, AUE_NULL }, /* 11 = ibcs2_execv */ - { SYF_MPSAFE | AS(ibcs2_chdir_args), (sy_call_t *)ibcs2_chdir, AUE_NULL }, /* 12 = ibcs2_chdir */ + { SYF_MPSAFE | AS(ibcs2_open_args), (sy_call_t *)ibcs2_open, AUE_OPEN_RWTC }, /* 5 = ibcs2_open */ + { SYF_MPSAFE | AS(close_args), (sy_call_t *)close, AUE_CLOSE }, /* 6 = close */ + { SYF_MPSAFE | AS(ibcs2_wait_args), (sy_call_t *)ibcs2_wait, AUE_WAIT4 }, /* 7 = ibcs2_wait */ + { SYF_MPSAFE | AS(ibcs2_creat_args), (sy_call_t *)ibcs2_creat, AUE_CREAT }, /* 8 = ibcs2_creat */ + { SYF_MPSAFE | AS(link_args), (sy_call_t *)link, AUE_LINK }, /* 9 = link */ + { SYF_MPSAFE | AS(ibcs2_unlink_args), (sy_call_t *)ibcs2_unlink, AUE_UNLINK }, /* 10 = ibcs2_unlink */ + { SYF_MPSAFE | AS(ibcs2_execv_args), (sy_call_t *)ibcs2_execv, AUE_EXECVE }, /* 11 = ibcs2_execv */ + { SYF_MPSAFE | AS(ibcs2_chdir_args), (sy_call_t *)ibcs2_chdir, AUE_CHDIR }, /* 12 = ibcs2_chdir */ { SYF_MPSAFE | AS(ibcs2_time_args), (sy_call_t *)ibcs2_time, AUE_NULL }, /* 13 = ibcs2_time */ - { SYF_MPSAFE | AS(ibcs2_mknod_args), (sy_call_t *)ibcs2_mknod, AUE_NULL }, /* 14 = ibcs2_mknod */ - { SYF_MPSAFE | AS(ibcs2_chmod_args), (sy_call_t *)ibcs2_chmod, AUE_NULL }, /* 15 = ibcs2_chmod */ - { SYF_MPSAFE | AS(ibcs2_chown_args), (sy_call_t *)ibcs2_chown, AUE_NULL }, /* 16 = ibcs2_chown */ + { SYF_MPSAFE | AS(ibcs2_mknod_args), (sy_call_t *)ibcs2_mknod, AUE_MKNOD }, /* 14 = ibcs2_mknod */ + { SYF_MPSAFE | AS(ibcs2_chmod_args), (sy_call_t *)ibcs2_chmod, AUE_CHMOD }, /* 15 = ibcs2_chmod */ + { SYF_MPSAFE | AS(ibcs2_chown_args), (sy_call_t *)ibcs2_chown, AUE_CHOWN }, /* 16 = ibcs2_chown */ { SYF_MPSAFE | AS(obreak_args), (sy_call_t *)obreak, AUE_NULL }, /* 17 = obreak */ - { SYF_MPSAFE | AS(ibcs2_stat_args), (sy_call_t *)ibcs2_stat, AUE_NULL }, /* 18 = ibcs2_stat */ - { SYF_MPSAFE | AS(ibcs2_lseek_args), (sy_call_t *)ibcs2_lseek, AUE_NULL }, /* 19 = ibcs2_lseek */ + { SYF_MPSAFE | AS(ibcs2_stat_args), (sy_call_t *)ibcs2_stat, AUE_STAT }, /* 18 = ibcs2_stat */ + { SYF_MPSAFE | AS(ibcs2_lseek_args), (sy_call_t *)ibcs2_lseek, AUE_LSEEK }, /* 19 = ibcs2_lseek */ { SYF_MPSAFE | 0, (sy_call_t *)getpid, AUE_NULL }, /* 20 = getpid */ - { AS(ibcs2_mount_args), (sy_call_t *)ibcs2_mount, AUE_NULL }, /* 21 = ibcs2_mount */ - { AS(ibcs2_umount_args), (sy_call_t *)ibcs2_umount, AUE_NULL }, /* 22 = ibcs2_umount */ - { SYF_MPSAFE | AS(ibcs2_setuid_args), (sy_call_t *)ibcs2_setuid, AUE_NULL }, /* 23 = ibcs2_setuid */ - { SYF_MPSAFE | 0, (sy_call_t *)getuid, AUE_NULL }, /* 24 = getuid */ - { SYF_MPSAFE | AS(ibcs2_stime_args), (sy_call_t *)ibcs2_stime, AUE_NULL }, /* 25 = ibcs2_stime */ - { SYF_MPSAFE | AS(ptrace_args), (sy_call_t *)ptrace, AUE_NULL }, /* 26 = ptrace */ + { AS(ibcs2_mount_args), (sy_call_t *)ibcs2_mount, AUE_MOUNT }, /* 21 = ibcs2_mount */ + { AS(ibcs2_umount_args), (sy_call_t *)ibcs2_umount, AUE_UMOUNT }, /* 22 = ibcs2_umount */ + { SYF_MPSAFE | AS(ibcs2_setuid_args), (sy_call_t *)ibcs2_setuid, AUE_SETUID }, /* 23 = ibcs2_setuid */ + { SYF_MPSAFE | 0, (sy_call_t *)getuid, AUE_GETUID }, /* 24 = getuid */ + { SYF_MPSAFE | AS(ibcs2_stime_args), (sy_call_t *)ibcs2_stime, AUE_SETTIMEOFDAY }, /* 25 = ibcs2_stime */ + { SYF_MPSAFE | AS(ptrace_args), (sy_call_t *)ptrace, AUE_PTRACE }, /* 26 = ptrace */ { SYF_MPSAFE | AS(ibcs2_alarm_args), (sy_call_t *)ibcs2_alarm, AUE_NULL }, /* 27 = ibcs2_alarm */ - { SYF_MPSAFE | AS(ibcs2_fstat_args), (sy_call_t *)ibcs2_fstat, AUE_NULL }, /* 28 = ibcs2_fstat */ + { SYF_MPSAFE | AS(ibcs2_fstat_args), (sy_call_t *)ibcs2_fstat, AUE_FSTAT }, /* 28 = ibcs2_fstat */ { SYF_MPSAFE | 0, (sy_call_t *)ibcs2_pause, AUE_NULL }, /* 29 = ibcs2_pause */ { SYF_MPSAFE | AS(ibcs2_utime_args), (sy_call_t *)ibcs2_utime, AUE_NULL }, /* 30 = ibcs2_utime */ { SYF_MPSAFE | AS(ibcs2_stty_args), (sy_call_t *)ibcs2_stty, AUE_NULL }, /* 31 = ibcs2_stty */ { SYF_MPSAFE | AS(ibcs2_gtty_args), (sy_call_t *)ibcs2_gtty, AUE_NULL }, /* 32 = ibcs2_gtty */ - { SYF_MPSAFE | AS(ibcs2_access_args), (sy_call_t *)ibcs2_access, AUE_NULL }, /* 33 = ibcs2_access */ - { SYF_MPSAFE | AS(ibcs2_nice_args), (sy_call_t *)ibcs2_nice, AUE_NULL }, /* 34 = ibcs2_nice */ - { SYF_MPSAFE | AS(ibcs2_statfs_args), (sy_call_t *)ibcs2_statfs, AUE_NULL }, /* 35 = ibcs2_statfs */ + { SYF_MPSAFE | AS(ibcs2_access_args), (sy_call_t *)ibcs2_access, AUE_ACCESS }, /* 33 = ibcs2_access */ + { SYF_MPSAFE | AS(ibcs2_nice_args), (sy_call_t *)ibcs2_nice, AUE_NICE }, /* 34 = ibcs2_nice */ + { SYF_MPSAFE | AS(ibcs2_statfs_args), (sy_call_t *)ibcs2_statfs, AUE_STATFS }, /* 35 = ibcs2_statfs */ { SYF_MPSAFE | 0, (sy_call_t *)sync, AUE_NULL }, /* 36 = sync */ - { SYF_MPSAFE | AS(ibcs2_kill_args), (sy_call_t *)ibcs2_kill, AUE_NULL }, /* 37 = ibcs2_kill */ - { SYF_MPSAFE | AS(ibcs2_fstatfs_args), (sy_call_t *)ibcs2_fstatfs, AUE_NULL }, /* 38 = ibcs2_fstatfs */ + { SYF_MPSAFE | AS(ibcs2_kill_args), (sy_call_t *)ibcs2_kill, AUE_KILL }, /* 37 = ibcs2_kill */ + { SYF_MPSAFE | AS(ibcs2_fstatfs_args), (sy_call_t *)ibcs2_fstatfs, AUE_FSTATFS }, /* 38 = ibcs2_fstatfs */ { SYF_MPSAFE | AS(ibcs2_pgrpsys_args), (sy_call_t *)ibcs2_pgrpsys, AUE_NULL }, /* 39 = ibcs2_pgrpsys */ { SYF_MPSAFE | AS(ibcs2_xenix_args), (sy_call_t *)ibcs2_xenix, AUE_NULL }, /* 40 = ibcs2_xenix */ { SYF_MPSAFE | AS(dup_args), (sy_call_t *)dup, AUE_NULL }, /* 41 = dup */ - { SYF_MPSAFE | 0, (sy_call_t *)pipe, AUE_NULL }, /* 42 = pipe */ + { SYF_MPSAFE | 0, (sy_call_t *)pipe, AUE_PIPE }, /* 42 = pipe */ { SYF_MPSAFE | AS(ibcs2_times_args), (sy_call_t *)ibcs2_times, AUE_NULL }, /* 43 = ibcs2_times */ - { SYF_MPSAFE | AS(profil_args), (sy_call_t *)profil, AUE_NULL }, /* 44 = profil */ + { SYF_MPSAFE | AS(profil_args), (sy_call_t *)profil, AUE_PROFILE }, /* 44 = profil */ { SYF_MPSAFE | AS(ibcs2_plock_args), (sy_call_t *)ibcs2_plock, AUE_NULL }, /* 45 = ibcs2_plock */ - { SYF_MPSAFE | AS(ibcs2_setgid_args), (sy_call_t *)ibcs2_setgid, AUE_NULL }, /* 46 = ibcs2_setgid */ - { SYF_MPSAFE | 0, (sy_call_t *)getgid, AUE_NULL }, /* 47 = getgid */ + { SYF_MPSAFE | AS(ibcs2_setgid_args), (sy_call_t *)ibcs2_setgid, AUE_SETGID }, /* 46 = ibcs2_setgid */ + { SYF_MPSAFE | 0, (sy_call_t *)getgid, AUE_GETGID }, /* 47 = getgid */ { SYF_MPSAFE | AS(ibcs2_sigsys_args), (sy_call_t *)ibcs2_sigsys, AUE_NULL }, /* 48 = ibcs2_sigsys */ - { AS(ibcs2_msgsys_args), (sy_call_t *)ibcs2_msgsys, AUE_NULL }, /* 49 = ibcs2_msgsys */ + { AS(ibcs2_msgsys_args), (sy_call_t *)ibcs2_msgsys, AUE_MSGSYS }, /* 49 = ibcs2_msgsys */ { SYF_MPSAFE | AS(ibcs2_sysi86_args), (sy_call_t *)ibcs2_sysi86, AUE_NULL }, /* 50 = ibcs2_sysi86 */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 51 = ibcs2_acct */ - { AS(ibcs2_shmsys_args), (sy_call_t *)ibcs2_shmsys, AUE_NULL }, /* 52 = ibcs2_shmsys */ - { AS(ibcs2_semsys_args), (sy_call_t *)ibcs2_semsys, AUE_NULL }, /* 53 = ibcs2_semsys */ - { AS(ibcs2_ioctl_args), (sy_call_t *)ibcs2_ioctl, AUE_NULL }, /* 54 = ibcs2_ioctl */ + { AS(ibcs2_shmsys_args), (sy_call_t *)ibcs2_shmsys, AUE_SHMSYS }, /* 52 = ibcs2_shmsys */ + { AS(ibcs2_semsys_args), (sy_call_t *)ibcs2_semsys, AUE_SEMSYS }, /* 53 = ibcs2_semsys */ + { AS(ibcs2_ioctl_args), (sy_call_t *)ibcs2_ioctl, AUE_IOCTL }, /* 54 = ibcs2_ioctl */ { SYF_MPSAFE | AS(ibcs2_uadmin_args), (sy_call_t *)ibcs2_uadmin, AUE_NULL }, /* 55 = ibcs2_uadmin */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 56 = nosys */ { SYF_MPSAFE | AS(ibcs2_utssys_args), (sy_call_t *)ibcs2_utssys, AUE_NULL }, /* 57 = ibcs2_utssys */ - { SYF_MPSAFE | AS(fsync_args), (sy_call_t *)fsync, AUE_NULL }, /* 58 = fsync */ - { SYF_MPSAFE | AS(ibcs2_execve_args), (sy_call_t *)ibcs2_execve, AUE_NULL }, /* 59 = ibcs2_execve */ - { SYF_MPSAFE | AS(umask_args), (sy_call_t *)umask, AUE_NULL }, /* 60 = umask */ - { SYF_MPSAFE | AS(chroot_args), (sy_call_t *)chroot, AUE_NULL }, /* 61 = chroot */ - { SYF_MPSAFE | AS(ibcs2_fcntl_args), (sy_call_t *)ibcs2_fcntl, AUE_NULL }, /* 62 = ibcs2_fcntl */ + { SYF_MPSAFE | AS(fsync_args), (sy_call_t *)fsync, AUE_FSYNC }, /* 58 = fsync */ + { SYF_MPSAFE | AS(ibcs2_execve_args), (sy_call_t *)ibcs2_execve, AUE_EXECVE }, /* 59 = ibcs2_execve */ + { SYF_MPSAFE | AS(umask_args), (sy_call_t *)umask, AUE_UMASK }, /* 60 = umask */ + { SYF_MPSAFE | AS(chroot_args), (sy_call_t *)chroot, AUE_CHROOT }, /* 61 = chroot */ + { SYF_MPSAFE | AS(ibcs2_fcntl_args), (sy_call_t *)ibcs2_fcntl, AUE_FCNTL }, /* 62 = ibcs2_fcntl */ { SYF_MPSAFE | AS(ibcs2_ulimit_args), (sy_call_t *)ibcs2_ulimit, AUE_NULL }, /* 63 = ibcs2_ulimit */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 64 = reserved for unix/pc */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 65 = reserved for unix/pc */ @@ -97,20 +97,20 @@ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 76 = obsolete rfs_rdebug */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 77 = obsolete rfs_rfstop */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 78 = rfs_rfsys */ - { SYF_MPSAFE | AS(ibcs2_rmdir_args), (sy_call_t *)ibcs2_rmdir, AUE_NULL }, /* 79 = ibcs2_rmdir */ - { SYF_MPSAFE | AS(ibcs2_mkdir_args), (sy_call_t *)ibcs2_mkdir, AUE_NULL }, /* 80 = ibcs2_mkdir */ - { AS(ibcs2_getdents_args), (sy_call_t *)ibcs2_getdents, AUE_NULL }, /* 81 = ibcs2_getdents */ + { SYF_MPSAFE | AS(ibcs2_rmdir_args), (sy_call_t *)ibcs2_rmdir, AUE_RMDIR }, /* 79 = ibcs2_rmdir */ + { SYF_MPSAFE | AS(ibcs2_mkdir_args), (sy_call_t *)ibcs2_mkdir, AUE_MKDIR }, /* 80 = ibcs2_mkdir */ + { AS(ibcs2_getdents_args), (sy_call_t *)ibcs2_getdents, AUE_GETDIRENTRIES }, /* 81 = ibcs2_getdents */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 82 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 83 = nosys */ { SYF_MPSAFE | AS(ibcs2_sysfs_args), (sy_call_t *)ibcs2_sysfs, AUE_NULL }, /* 84 = ibcs2_sysfs */ - { SYF_MPSAFE | AS(ibcs2_getmsg_args), (sy_call_t *)ibcs2_getmsg, AUE_NULL }, /* 85 = ibcs2_getmsg */ - { SYF_MPSAFE | AS(ibcs2_putmsg_args), (sy_call_t *)ibcs2_putmsg, AUE_NULL }, /* 86 = ibcs2_putmsg */ - { AS(ibcs2_poll_args), (sy_call_t *)ibcs2_poll, AUE_NULL }, /* 87 = ibcs2_poll */ + { SYF_MPSAFE | AS(ibcs2_getmsg_args), (sy_call_t *)ibcs2_getmsg, AUE_GETMSG }, /* 85 = ibcs2_getmsg */ + { SYF_MPSAFE | AS(ibcs2_putmsg_args), (sy_call_t *)ibcs2_putmsg, AUE_PUTMSG }, /* 86 = ibcs2_putmsg */ + { AS(ibcs2_poll_args), (sy_call_t *)ibcs2_poll, AUE_POLL }, /* 87 = ibcs2_poll */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 88 = nosys */ { SYF_MPSAFE | AS(ibcs2_secure_args), (sy_call_t *)ibcs2_secure, AUE_NULL }, /* 89 = ibcs2_secure */ - { SYF_MPSAFE | AS(ibcs2_symlink_args), (sy_call_t *)ibcs2_symlink, AUE_NULL }, /* 90 = ibcs2_symlink */ - { SYF_MPSAFE | AS(ibcs2_lstat_args), (sy_call_t *)ibcs2_lstat, AUE_NULL }, /* 91 = ibcs2_lstat */ - { SYF_MPSAFE | AS(ibcs2_readlink_args), (sy_call_t *)ibcs2_readlink, AUE_NULL }, /* 92 = ibcs2_readlink */ + { SYF_MPSAFE | AS(ibcs2_symlink_args), (sy_call_t *)ibcs2_symlink, AUE_SYMLINK }, /* 90 = ibcs2_symlink */ + { SYF_MPSAFE | AS(ibcs2_lstat_args), (sy_call_t *)ibcs2_lstat, AUE_LSTAT }, /* 91 = ibcs2_lstat */ + { SYF_MPSAFE | AS(ibcs2_readlink_args), (sy_call_t *)ibcs2_readlink, AUE_READLINK }, /* 92 = ibcs2_readlink */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 93 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 94 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 95 = nosys */ ==== //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_xenix.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix.c,v 1.35 2005/07/07 19:28:55 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix.c,v 1.36 2006/02/06 22:00:52 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -216,7 +216,7 @@ bsd_flags |= X_OK; CHECKALTEXIST(td, uap->path, &path); - error = kern_access(td, path, UIO_SYSSPACE, bsd_flags); + error = kern_eaccess(td, path, UIO_SYSSPACE, bsd_flags); free(path, M_TEMP); return (error); } ==== //depot/projects/arm/src/sys/i386/ibcs2/syscalls.master#3 (text+ko) ==== @@ -1,10 +1,10 @@ - $FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.21 2005/07/13 20:32:42 jhb Exp $ + $FreeBSD: src/sys/i386/ibcs2/syscalls.master,v 1.22 2006/02/06 22:14:50 rwatson Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from IBCS2). ; Processed to created ibcs2_sysent.c, ibcs2_syscalls.c and ibcs2_syscall.h. -; Columns: number type nargs name alt{name,tag,rtyp}/comments +; Columns: number audit type nargs name alt{name,tag,rtyp}/comments ; number system call number, must be in order ; audit the audit event associated with the system call ; A value of AUE_NULL means no auditing, but it also means that @@ -36,45 +36,45 @@ ; #ifdef's, etc. may be included, and are copied to the output files. 0 AUE_NULL MNOPROTO { int nosys(void); } syscall nosys_args int -1 AUE_NULL MNOPROTO { void sys_exit(int rval); } exit \ +1 AUE_EXIT MNOPROTO { void sys_exit(int rval); } exit \ sys_exit_args void -2 AUE_NULL MNOPROTO { int fork(void); } +2 AUE_FORK MNOPROTO { int fork(void); } 3 AUE_NULL STD { int ibcs2_read(int fd, char *buf, \ u_int nbytes); } 4 AUE_NULL MNOPROTO { int write(int fd, char *buf, \ u_int nbytes); } -5 AUE_NULL MSTD { int ibcs2_open(char *path, int flags, \ +5 AUE_OPEN_RWTC MSTD { int ibcs2_open(char *path, int flags, \ int mode); } -6 AUE_NULL MNOPROTO { int close(int fd); } -7 AUE_NULL MSTD { int ibcs2_wait(int a1, int a2, int a3); } -8 AUE_NULL MSTD { int ibcs2_creat(char *path, int mode); } -9 AUE_NULL MNOPROTO { int link(char *path, char *link); } -10 AUE_NULL MSTD { int ibcs2_unlink(char *path); } -11 AUE_NULL MSTD { int ibcs2_execv(char *path, char **argp); } -12 AUE_NULL MSTD { int ibcs2_chdir(char *path); } +6 AUE_CLOSE MNOPROTO { int close(int fd); } +7 AUE_WAIT4 MSTD { int ibcs2_wait(int a1, int a2, int a3); } +8 AUE_CREAT MSTD { int ibcs2_creat(char *path, int mode); } +9 AUE_LINK MNOPROTO { int link(char *path, char *link); } +10 AUE_UNLINK MSTD { int ibcs2_unlink(char *path); } +11 AUE_EXECVE MSTD { int ibcs2_execv(char *path, char **argp); } +12 AUE_CHDIR MSTD { int ibcs2_chdir(char *path); } 13 AUE_NULL MSTD { int ibcs2_time(ibcs2_time_t *tp); } -14 AUE_NULL MSTD { int ibcs2_mknod(char* path, int mode, \ +14 AUE_MKNOD MSTD { int ibcs2_mknod(char* path, int mode, \ int dev); } -15 AUE_NULL MSTD { int ibcs2_chmod(char *path, int mode); } -16 AUE_NULL MSTD { int ibcs2_chown(char *path, int uid, \ +15 AUE_CHMOD MSTD { int ibcs2_chmod(char *path, int mode); } +16 AUE_CHOWN MSTD { int ibcs2_chown(char *path, int uid, \ int gid); } 17 AUE_NULL MNOPROTO { int obreak(caddr_t nsize); } -18 AUE_NULL MSTD { int ibcs2_stat(char* path, \ +18 AUE_STAT MSTD { int ibcs2_stat(char* path, \ struct ibcs2_stat *st); } -19 AUE_NULL MSTD { long ibcs2_lseek(int fd, long offset, \ +19 AUE_LSEEK MSTD { long ibcs2_lseek(int fd, long offset, \ int whence); } 20 AUE_NULL MNOPROTO { pid_t getpid(void); } -21 AUE_NULL STD { int ibcs2_mount(char *special, char *dir, \ +21 AUE_MOUNT STD { int ibcs2_mount(char *special, char *dir, \ int flags, int fstype, char *data, \ int len); } -22 AUE_NULL STD { int ibcs2_umount(char *name); } -23 AUE_NULL MSTD { int ibcs2_setuid(int uid); } -24 AUE_NULL MNOPROTO { uid_t getuid(void); } -25 AUE_NULL MSTD { int ibcs2_stime(long *timep); } -26 AUE_NULL MNOPROTO { int ptrace(int req, pid_t pid, \ +22 AUE_UMOUNT STD { int ibcs2_umount(char *name); } +23 AUE_SETUID MSTD { int ibcs2_setuid(int uid); } +24 AUE_GETUID MNOPROTO { uid_t getuid(void); } +25 AUE_SETTIMEOFDAY MSTD { int ibcs2_stime(long *timep); } +26 AUE_PTRACE MNOPROTO { int ptrace(int req, pid_t pid, \ caddr_t addr, int data); } 27 AUE_NULL MSTD { int ibcs2_alarm(unsigned sec); } -28 AUE_NULL MSTD { int ibcs2_fstat(int fd, \ +28 AUE_FSTAT MSTD { int ibcs2_fstat(int fd, \ struct ibcs2_stat *st); } 29 AUE_NULL MSTD { int ibcs2_pause(void); } 30 AUE_NULL MSTD { int ibcs2_utime(char *path, \ @@ -83,14 +83,14 @@ struct sgttyb *buf); } 32 AUE_NULL MSTD { int ibcs2_gtty(int fd, \ struct sgttyb *buf); } -33 AUE_NULL MSTD { int ibcs2_access(char *path, int flags); } -34 AUE_NULL MSTD { int ibcs2_nice(int incr); } -35 AUE_NULL MSTD { int ibcs2_statfs(char *path, \ +33 AUE_ACCESS MSTD { int ibcs2_access(char *path, int flags); } +34 AUE_NICE MSTD { int ibcs2_nice(int incr); } +35 AUE_STATFS MSTD { int ibcs2_statfs(char *path, \ struct ibcs2_statfs *buf, int len, \ int fstype); } 36 AUE_NULL MNOPROTO { int sync(void); } -37 AUE_NULL MSTD { int ibcs2_kill(int pid, int signo); } -38 AUE_NULL MSTD { int ibcs2_fstatfs(int fd, \ +37 AUE_KILL MSTD { int ibcs2_kill(int pid, int signo); } +38 AUE_FSTATFS MSTD { int ibcs2_fstatfs(int fd, \ struct ibcs2_statfs *buf, int len, \ int fstype); } 39 AUE_NULL MSTD { int ibcs2_pgrpsys(int type, caddr_t dummy, \ @@ -98,35 +98,35 @@ 40 AUE_NULL MSTD { int ibcs2_xenix(int a1, int a2, int a3, \ int a4, int a5); } 41 AUE_NULL MNOPROTO { int dup(u_int fd); } -42 AUE_NULL MNOPROTO { int pipe(void); } +42 AUE_PIPE MNOPROTO { int pipe(void); } 43 AUE_NULL MSTD { int ibcs2_times(struct tms *tp); } -44 AUE_NULL MNOPROTO { int profil(caddr_t samples, u_int size, \ +44 AUE_PROFILE MNOPROTO { int profil(caddr_t samples, u_int size, \ u_int offset, u_int scale); } 45 AUE_NULL MSTD { int ibcs2_plock(int cmd); } -46 AUE_NULL MSTD { int ibcs2_setgid(int gid); } -47 AUE_NULL MNOPROTO { gid_t getgid(void); } +46 AUE_SETGID MSTD { int ibcs2_setgid(int gid); } +47 AUE_GETGID MNOPROTO { gid_t getgid(void); } 48 AUE_NULL MSTD { int ibcs2_sigsys(int sig, ibcs2_sig_t fp); } -49 AUE_NULL STD { int ibcs2_msgsys(int which, int a2, \ +49 AUE_MSGSYS STD { int ibcs2_msgsys(int which, int a2, \ int a3, int a4, int a5, int a6); } 50 AUE_NULL MSTD { int ibcs2_sysi86(int cmd, int *arg); } 51 AUE_NULL UNIMPL ibcs2_acct -52 AUE_NULL STD { int ibcs2_shmsys(int which, int a2, \ +52 AUE_SHMSYS STD { int ibcs2_shmsys(int which, int a2, \ int a3, int a4); } -53 AUE_NULL STD { int ibcs2_semsys(int which, int a2, \ +53 AUE_SEMSYS STD { int ibcs2_semsys(int which, int a2, \ int a3, int a4, int a5); } -54 AUE_NULL STD { int ibcs2_ioctl(int fd, int cmd, \ +54 AUE_IOCTL STD { int ibcs2_ioctl(int fd, int cmd, \ caddr_t data); } 55 AUE_NULL MSTD { int ibcs2_uadmin(int cmd, int func, \ caddr_t data); } 56 AUE_NULL UNIMPL nosys 57 AUE_NULL MSTD { int ibcs2_utssys(int a1, int a2, \ int flag); } -58 AUE_NULL MNOPROTO { int fsync(int fd); } -59 AUE_NULL MSTD { int ibcs2_execve(char *path, char **argp, \ +58 AUE_FSYNC MNOPROTO { int fsync(int fd); } +59 AUE_EXECVE MSTD { int ibcs2_execve(char *path, char **argp, \ char **envp); } -60 AUE_NULL MNOPROTO { int umask(int newmask); } -61 AUE_NULL MNOPROTO { int chroot(char *path); } -62 AUE_NULL MSTD { int ibcs2_fcntl(int fd, int cmd, \ +60 AUE_UMASK MNOPROTO { int umask(int newmask); } +61 AUE_CHROOT MNOPROTO { int chroot(char *path); } +62 AUE_FCNTL MSTD { int ibcs2_fcntl(int fd, int cmd, \ char *arg); } 63 AUE_NULL MSTD { long ibcs2_ulimit(int cmd, int newlimit); } 64 AUE_NULL UNIMPL reserved for unix/pc @@ -144,30 +144,30 @@ 76 AUE_NULL OBSOL rfs_rdebug 77 AUE_NULL OBSOL rfs_rfstop 78 AUE_NULL UNIMPL rfs_rfsys -79 AUE_NULL MSTD { int ibcs2_rmdir(char *path); } -80 AUE_NULL MSTD { int ibcs2_mkdir(char *path, int mode); } -81 AUE_NULL STD { int ibcs2_getdents(int fd, char *buf, \ +79 AUE_RMDIR MSTD { int ibcs2_rmdir(char *path); } +80 AUE_MKDIR MSTD { int ibcs2_mkdir(char *path, int mode); } +81 AUE_GETDIRENTRIES STD { int ibcs2_getdents(int fd, char *buf, \ int nbytes); } 82 AUE_NULL UNIMPL nosys 83 AUE_NULL UNIMPL nosys 84 AUE_NULL MSTD { int ibcs2_sysfs(int cmd, caddr_t d1, \ char *buf); } -85 AUE_NULL MSTD { int ibcs2_getmsg(int fd, \ +85 AUE_GETMSG MSTD { int ibcs2_getmsg(int fd, \ struct ibcs2_stropts *ctl, \ struct ibcs2_stropts *dat, int *flags); } -86 AUE_NULL MSTD { int ibcs2_putmsg(int fd, \ +86 AUE_PUTMSG MSTD { int ibcs2_putmsg(int fd, \ struct ibcs2_stropts *ctl, \ struct ibcs2_stropts *dat, int flags); } -87 AUE_NULL STD { int ibcs2_poll(struct ibcs2_poll *fds, \ +87 AUE_POLL STD { int ibcs2_poll(struct ibcs2_poll *fds, \ long nfds, int timeout); } 88 AUE_NULL UNIMPL nosys 89 AUE_NULL MSTD { int ibcs2_secure(int cmd, int a1, int a2, \ int a3, int a4, int a5); } -90 AUE_NULL MSTD { int ibcs2_symlink(char *path, \ +90 AUE_SYMLINK MSTD { int ibcs2_symlink(char *path, \ char *link); } -91 AUE_NULL MSTD { int ibcs2_lstat(char *path, \ +91 AUE_LSTAT MSTD { int ibcs2_lstat(char *path, \ struct ibcs2_stat *st); } -92 AUE_NULL MSTD { int ibcs2_readlink(char *path, char *buf, \ +92 AUE_READLINK MSTD { int ibcs2_readlink(char *path, char *buf, \ int count); } 93 AUE_NULL UNIMPL nosys 94 AUE_NULL UNIMPL nosys ==== //depot/projects/arm/src/sys/i386/linux/linux_machdep.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.49 2005/08/01 17:35:48 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.50 2006/02/06 22:06:53 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -122,7 +122,6 @@ free(newpath, M_TEMP); if (error == 0) error = kern_execve(td, &eargs, NULL); - exec_free_args(&eargs); return (error); } ==== //depot/projects/arm/src/sys/ia64/ia64/mca.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/mca.c,v 1.10 2005/02/09 04:48:23 marcel Exp $ + * $FreeBSD: src/sys/ia64/ia64/mca.c,v 1.11 2006/02/07 02:02:14 marcel Exp $ */ #include <sys/param.h> @@ -109,7 +109,7 @@ mtx_unlock_spin(&mca_info_block_lock); totsz = sizeof(struct sysctl_oid) + recsz + 32; - oidp = malloc(totsz, M_MCA, M_WAITOK|M_ZERO); + oidp = malloc(totsz, M_MCA, M_NOWAIT|M_ZERO); state = (char*)(oidp + 1); name = state + recsz; sprintf(name, "%lld", (long long)seqnr); ==== //depot/projects/arm/src/sys/kern/init_main.c#4 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.260 2006/02/02 01:16:31 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.261 2006/02/06 16:03:10 cognet Exp $"); #include "opt_init_path.h" #include "opt_mac.h" @@ -90,7 +90,7 @@ static struct session session0; static struct pgrp pgrp0; struct proc proc0; -struct thread thread0; +struct thread thread0 __aligned(8); struct ksegrp ksegrp0; struct vmspace vmspace0; struct proc *initproc; ==== //depot/projects/arm/src/sys/kern/kern_acct.c#5 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_acct.c,v 1.78 2006/02/03 16:37:55 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_acct.c,v 1.79 2006/02/07 16:04:03 jhb Exp $"); #include "opt_mac.h" @@ -51,6 +51,7 @@ #include <sys/acct.h> #include <sys/fcntl.h> #include <sys/kernel.h> +#include <sys/kthread.h> #include <sys/lock.h> #include <sys/mac.h> #include <sys/mount.h> @@ -58,6 +59,7 @@ #include <sys/namei.h> #include <sys/proc.h> #include <sys/resourcevar.h> +#include <sys/sched.h> #include <sys/sx.h> #include <sys/sysctl.h> #include <sys/sysent.h> @@ -83,12 +85,9 @@ * was provided by UCB with the 4.4BSD-Lite release */ static comp_t encode_comp_t(u_long, u_long); -static void acctwatch(void *); - -/* - * Accounting callout used for periodic scheduling of acctwatch. - */ -static struct callout acctwatch_callout; +static void acctwatch(void); +static void acct_thread(void *); +static int acct_disable(struct thread *); /* * Accounting vnode pointer, saved vnode pointer, and flags for each. @@ -104,6 +103,14 @@ SX_SYSINIT(acct, &acct_sx, "acct_sx"); /* + * State of the accounting kthread. + */ +static int acct_state; + +#define ACCT_RUNNING 1 /* Accounting kthread is running. */ +#define ACCT_EXITREQ 2 /* Accounting kthread should exit. */ + +/* * Values associated with enabling and disabling accounting */ static int acctsuspend = 2; /* stop accounting when < 2% free space left */ @@ -188,16 +195,13 @@ * enabled. */ acct_suspended = 0; - if (acct_vp != NULL) { - callout_stop(&acctwatch_callout); - error = vn_close(acct_vp, acct_flags, acct_cred, td); - crfree(acct_cred); - acct_vp = NULL; - acct_cred = NULL; - acct_flags = 0; - log(LOG_NOTICE, "Accounting disabled\n"); - } + if (acct_vp != NULL) + error = acct_disable(td); if (uap->path == NULL) { + if (acct_state & ACCT_RUNNING) { + acct_state |= ACCT_EXITREQ; + wakeup(&acct_state); + } sx_xunlock(&acct_sx); goto done; } @@ -209,16 +213,54 @@ acct_vp = nd.ni_vp; acct_cred = crhold(td->td_ucred); acct_flags = flags; - callout_init(&acctwatch_callout, CALLOUT_MPSAFE); + if (acct_state & ACCT_RUNNING) + acct_state &= ~ACCT_EXITREQ; + else { + /* + * Try to start up an accounting kthread. We may start more + * than one, but if so the extras will commit suicide as + * soon as they start up. + */ + error = kthread_create(acct_thread, NULL, NULL, 0, 0, >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602071715.k17HFFvG095266>