Date: Mon, 6 Feb 2006 23:12:40 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 91294 for review Message-ID: <200602062312.k16NCeoE012343@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=91294 Change 91294 by rwatson@rwatson_zoo on 2006/02/06 23:11:54 Integrate TrustedBSD audit3 branch from TrustedBSD base branch: - Loop back ibcs2 system call table audit identifiers. - Loop back audit pipe support. - Loop back audit UMA allocation for audit records. - kern_eaccess(). Affected files ... .. //depot/projects/trustedbsd/audit3/sys/alpha/linux/linux_machdep.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/alpha/osf1/osf1_misc.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/freebsd32/freebsd32_misc.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/svr4/svr4_misc.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/conf/files#16 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_misc.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_proto.h#6 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_syscall.h#6 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_sysent.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_xenix.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/syscalls.master#6 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/linux/linux_machdep.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_exec.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_exit.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_fork.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_kse.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_kthread.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/vfs_syscalls.c#25 integrate .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#11 integrate .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_pipe.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_private.h#17 integrate .. //depot/projects/trustedbsd/audit3/sys/sys/imgact.h#3 integrate .. //depot/projects/trustedbsd/audit3/sys/sys/syscallsubr.h#6 integrate Differences ... ==== //depot/projects/trustedbsd/audit3/sys/alpha/linux/linux_machdep.c#4 (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/trustedbsd/audit3/sys/alpha/osf1/osf1_misc.c#6 (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/trustedbsd/audit3/sys/amd64/linux32/linux32_machdep.c#4 (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/trustedbsd/audit3/sys/arm/at91/if_ate.c#2 (text) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.1 2006/02/04 23:32:13 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.2 2006/02/06 22:17:42 cognet Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -181,13 +181,13 @@ ate_get_mac(sc, eaddr); + sc->ifp = ifp = if_alloc(IFT_ETHER); if (mii_phy_probe(dev, &sc->miibus, ate_ifmedia_upd, ate_ifmedia_sts)) { device_printf(dev, "Cannot find my PHY.\n"); err = ENXIO; goto out; } - sc->ifp = ifp = if_alloc(IFT_ETHER); ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU; @@ -611,6 +611,8 @@ BUS_DMASYNC_PREWRITE); continue; } + mb->m_len = sc->rx_descs[i].status & + ETH_LEN_MASK; /* * For the last buffer, set the wrap bit so * the controller restarts from the first @@ -817,7 +819,7 @@ /* * Enable some parts of the MAC that are needed always (like the * MII bus. This turns off the RE and TE bits, which will remain - * off until atestart() is called to turn them on. With RE and TE + * off until ateinit() is called to turn them on. With RE and TE * turned off, there's no DMA to worry about after this write. */ WR4(sc, ETH_CTL, ETH_CTL_MPE); ==== //depot/projects/trustedbsd/audit3/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/trustedbsd/audit3/sys/compat/svr4/svr4_misc.c#6 (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/trustedbsd/audit3/sys/conf/files#16 (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 @@ -1830,10 +1830,11 @@ 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_pipe.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_arg.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 ==== //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_misc.c#5 (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/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_proto.h#6 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD$ + * $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/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_syscall.h#6 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD$ + * $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/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_sysent.c#6 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD$ + * $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 */ ==== //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/ibcs2_xenix.c#5 (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> @@ -219,7 +219,7 @@ * XXXRW: This should probably be kern_eaccess()? */ 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/trustedbsd/audit3/sys/i386/ibcs2/syscalls.master#6 (text+ko) ==== @@ -1,4 +1,4 @@ - $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). ==== //depot/projects/trustedbsd/audit3/sys/i386/linux/linux_machdep.c#5 (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/trustedbsd/audit3/sys/kern/kern_exec.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.288 2006/02/02 08:39:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.289 2006/02/06 22:06:54 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_ktrace.h" @@ -86,6 +86,7 @@ static int sysctl_kern_stackprot(SYSCTL_HANDLER_ARGS); static int do_execve(struct thread *td, struct image_args *args, struct mac *mac_p); +static void exec_free_args(struct image_args *); /* XXX This should be vm_size_t. */ SYSCTL_PROC(_kern, KERN_PS_STRINGS, ps_strings, CTLTYPE_ULONG|CTLFLAG_RD, @@ -181,12 +182,8 @@ error = exec_copyin_args(&args, uap->fname, UIO_USERSPACE, uap->argv, uap->envv); - if (error == 0) error = kern_execve(td, &args, NULL); - - exec_free_args(&args); - return (error); } @@ -218,12 +215,8 @@ error = exec_copyin_args(&args, uap->fname, UIO_USERSPACE, uap->argv, uap->envv); - if (error == 0) error = kern_execve(td, &args, uap->mac_p); - - exec_free_args(&args); - return (error); #else return (ENOSYS); @@ -779,19 +772,6 @@ p->p_flag &= ~P_INEXEC; PROC_UNLOCK(p); - if (imgp->vmspace_destroyed) { - /* sorry, no more process anymore. exit gracefully */ -#ifdef MAC - mac_execve_exit(imgp); - if (interplabel != NULL) - mac_vnode_label_free(interplabel); -#endif - VFS_UNLOCK_GIANT(vfslocked); - exec_free_args(args); - exit1(td, W_EXITCODE(0, SIGABRT)); - /* NOT REACHED */ - error = 0; - } done2: #ifdef MAC mac_execve_exit(imgp); @@ -799,6 +779,13 @@ mac_vnode_label_free(interplabel); #endif VFS_UNLOCK_GIANT(vfslocked); + exec_free_args(args); + + if (error && imgp->vmspace_destroyed) { + /* sorry, no more process anymore. exit gracefully */ + exit1(td, W_EXITCODE(0, SIGABRT)); + /* NOT REACHED */ + } return (error); } @@ -1039,7 +1026,7 @@ return (0); } -void +static void exec_free_args(struct image_args *args) { ==== //depot/projects/trustedbsd/audit3/sys/kern/kern_exit.c#13 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.280 2006/02/06 00:19:09 wsalamon Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.281 2006/02/06 21:56:13 jhb Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -508,12 +508,6 @@ psignal(p->p_pptr, p->p_sigparent); } PROC_UNLOCK(p->p_pptr); - - /* - * If this is a kthread, then wakeup anyone waiting for it to exit. - */ - if (p->p_flag & P_KTHREAD) - wakeup(p); PROC_UNLOCK(p); /* ==== //depot/projects/trustedbsd/audit3/sys/kern/kern_fork.c#13 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.255 2006/02/06 00:28:50 wsalamon Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.256 2006/02/06 21:54:47 jhb Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -805,14 +805,11 @@ * Check if a kernel thread misbehaved and returned from its main * function. */ - PROC_LOCK(p); if (p->p_flag & P_KTHREAD) { - PROC_UNLOCK(p); printf("Kernel thread \"%s\" (pid %d) exited prematurely.\n", p->p_comm, p->p_pid); kthread_exit(0); } - PROC_UNLOCK(p); mtx_assert(&Giant, MA_NOTOWNED); } ==== //depot/projects/trustedbsd/audit3/sys/kern/kern_kse.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.220 2005/11/03 04:49:16 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.221 2006/02/06 22:06:54 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -266,7 +266,6 @@ args.argv, args.envp); if (error == 0) error = kern_execve(td, &iargs, NULL); - exec_free_args(&iargs); if (error == 0) { PROC_LOCK(p); SIGSETOR(td->td_siglist, args.sigpend); ==== //depot/projects/trustedbsd/audit3/sys/kern/kern_kthread.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_kthread.c,v 1.34 2005/01/06 23:35:39 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kthread.c,v 1.35 2006/02/06 21:56:13 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -129,11 +129,23 @@ td = curthread; p = td->td_proc; + + /* + * Reparent curthread from proc0 to init so that the zombie + * is harvested. + */ sx_xlock(&proctree_lock); PROC_LOCK(p); proc_reparent(p, initproc); PROC_UNLOCK(p); sx_xunlock(&proctree_lock); + + /* + * Wakeup anyone waiting for us to exit. + */ + wakeup(p); + + /* Buh-bye! */ exit1(td, W_EXITCODE(ecode, 0)); } ==== //depot/projects/trustedbsd/audit3/sys/kern/vfs_syscalls.c#25 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.404 2006/02/06 10:15:27 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.405 2006/02/06 22:00:52 jhb Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -1940,18 +1940,25 @@ int flags; } */ *uap; { + + return (kern_eaccess(td, uap->path, UIO_USERSPACE, uap->flags)); +} + +int +kern_eaccess(struct thread *td, char *path, enum uio_seg pathseg, int flags) +{ struct nameidata nd; struct vnode *vp; int vfslocked; int error; NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | MPSAFE | AUDITVNODE1, - UIO_USERSPACE, uap->path, td); + pathseg, path, td); if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; vfslocked = NDHASGIANT(&nd); - error = vn_access(vp, uap->flags, td->td_ucred, td); + error = vn_access(vp, flags, td->td_ucred, td); NDFREE(&nd, NDF_ONLY_PNBUF); vput(vp); VFS_UNLOCK_GIANT(vfslocked); ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#11 (text+ko) ==== @@ -26,6 +26,8 @@ * STRICT LIABILITY, OR TORT (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/security/audit/audit.c,v 1.5 2006/02/06 22:50:39 rwatson Exp $ */ #include <sys/param.h> ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_pipe.c#6 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_private.h#17 (text+ko) ==== @@ -25,6 +25,8 @@ * STRICT LIABILITY, OR TORT (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/security/audit/audit_private.h,v 1.2 2006/02/06 22:50:39 rwatson Exp $ */ /* ==== //depot/projects/trustedbsd/audit3/sys/sys/imgact.h#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/imgact.h,v 1.38 2005/02/25 11:49:42 sobomax Exp $ + * $FreeBSD: src/sys/sys/imgact.h,v 1.39 2006/02/06 22:06:54 jhb Exp $ */ #ifndef _SYS_IMGACT_H_ @@ -76,7 +76,6 @@ int exec_shell_imgact(struct image_params *); int exec_copyin_args(struct image_args *, char *, enum uio_seg, char **, char **); -void exec_free_args(struct image_args *); #endif #endif /* !_SYS_IMGACT_H_ */ ==== //depot/projects/trustedbsd/audit3/sys/sys/syscallsubr.h#6 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/syscallsubr.h,v 1.34 2005/10/31 21:09:55 ps Exp $ + * $FreeBSD: src/sys/sys/syscallsubr.h,v 1.35 2006/02/06 22:00:53 jhb Exp $ */ #ifndef _SYS_SYSCALLSUBR_H_ @@ -67,6 +67,8 @@ int kern_clock_settime(struct thread *td, clockid_t clock_id, struct timespec *ats); int kern_connect(struct thread *td, int fd, struct sockaddr *sa); +int kern_eaccess(struct thread *td, char *path, enum uio_seg pathseg, + int flags); int kern_execve(struct thread *td, struct image_args *args, struct mac *mac_p); int kern_fcntl(struct thread *td, int fd, int cmd, intptr_t arg);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602062312.k16NCeoE012343>