PERFORCE change 167224 for review

Ilias Marinos marinosi at FreeBSD.org
Tue Aug 11 21:32:06 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=167224

Change 167224 by marinosi at marinosi_redrum on 2009/08/11 21:31:16

	- Added a new syscall, auditon_slice() which manipulates auditing for
	several slices. Works exactly as auditon(2) until now, except that it 
	accepts the slice that it should operate as arg.
	- auditon() will be a wrapper that selects the audit_base_slice. At the
	moment it does nothing. The actual code will be submitted. (NOTE: This 
	breaks audit as auditon() does nothing with this commit.

Affected files ...

.. //depot/projects/soc2009/marinosi_appaudit/src/lib/libc/sys/Symbol.map#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/freebsd32_proto.h#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/freebsd32_syscall.h#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/freebsd32_sysent.c#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/syscalls.conf#2 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/syscalls.master#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/kern/init_sysent.c#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/kern/syscalls.c#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/kern/syscalls.master#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/kern/systrace_args.c#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#17 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_syscalls.c#10 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/sys/syscall.h#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/sys/syscall.mk#3 edit
.. //depot/projects/soc2009/marinosi_appaudit/src/sys/sys/sysproto.h#3 edit

Differences ...

==== //depot/projects/soc2009/marinosi_appaudit/src/lib/libc/sys/Symbol.map#3 (text) ====

@@ -357,6 +357,7 @@
 	shmctl;
 	symlinkat;
 	unlinkat;
+	auditon_slice;
 };
 
 FBSDprivate_1.0 {

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.106 2009/07/08 16:30:34 trasz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz 
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.123 2009/07/08 16:26:43 trasz Exp 
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.105 2009/07/08 16:30:34 trasz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz 
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.123 2009/07/08 16:26:43 trasz Exp 
  */
 
 #define	FREEBSD32_SYS_syscall	0
@@ -382,4 +382,5 @@
 #define	FREEBSD32_SYS_freebsd32_msgctl	511
 #define	FREEBSD32_SYS_freebsd32_shmctl	512
 #define	FREEBSD32_SYS_lpathconf	513
-#define	FREEBSD32_SYS_MAXSYSCALL	514
+#define	FREEBSD32_SYS_auditon	514
+#define	FREEBSD32_SYS_MAXSYSCALL	515

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.96 2009/07/08 16:30:34 trasz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz 
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.123 2009/07/08 16:26:43 trasz Exp 
  */
 
 const char *freebsd32_syscallnames[] = {
@@ -521,4 +521,5 @@
 	"freebsd32_msgctl",			/* 511 = freebsd32_msgctl */
 	"freebsd32_shmctl",			/* 512 = freebsd32_shmctl */
 	"lpathconf",			/* 513 = lpathconf */
+	"auditon",			/* 514 = auditon */
 };

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/freebsd32_sysent.c#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.107 2009/07/08 16:30:34 trasz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz 
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.123 2009/07/08 16:26:43 trasz Exp 
  */
 
 #include "opt_compat.h"
@@ -558,4 +558,5 @@
 	{ AS(freebsd32_msgctl_args), (sy_call_t *)freebsd32_msgctl, AUE_MSGCTL, NULL, 0, 0, 0 },	/* 511 = freebsd32_msgctl */
 	{ AS(freebsd32_shmctl_args), (sy_call_t *)freebsd32_shmctl, AUE_SHMCTL, NULL, 0, 0, 0 },	/* 512 = freebsd32_shmctl */
 	{ AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0 },	/* 513 = lpathconf */
+	{ AS(auditon_args), (sy_call_t *)auditon, AUE_AUDITON, NULL, 0, 0, 0 },	/* 514 = auditon */
 };

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/syscalls.conf#2 (text+ko) ====


==== //depot/projects/soc2009/marinosi_appaudit/src/sys/compat/freebsd32/syscalls.master#3 (text+ko) ====

@@ -901,3 +901,5 @@
 512	AUE_SHMCTL	STD	{ int freebsd32_shmctl(int shmid, int cmd, \
 				    struct shmid_ds32 *buf); }
 513	AUE_LPATHCONF	NOPROTO	{ int lpathconf(char *path, int name); }
+514	AUE_AUDITON	NOPROTO	{ int auditon(int cmd, char *name, \
+				    void *data, u_int length); }

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/kern/init_sysent.c#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/init_sysent.c,v 1.253 2009/07/08 15:25:27 trasz Exp $
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.259 2009/07/08 15:23:18 trasz Exp 
  */
 
 #include "opt_compat.h"
@@ -548,4 +548,5 @@
 	{ AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 },	/* 511 = msgctl */
 	{ AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 },	/* 512 = shmctl */
 	{ AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0 },	/* 513 = lpathconf */
+	{ AS(auditon_slice_args), (sy_call_t *)auditon_slice, AUE_AUDITON, NULL, 0, 0, 0 },	/* 514 = auditon_slice */
 };

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/kern/syscalls.c#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/syscalls.c,v 1.236 2009/07/08 15:25:27 trasz Exp $
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.259 2009/07/08 15:23:18 trasz Exp 
  */
 
 const char *syscallnames[] = {
@@ -521,4 +521,5 @@
 	"msgctl",			/* 511 = msgctl */
 	"shmctl",			/* 512 = shmctl */
 	"lpathconf",			/* 513 = lpathconf */
+	"auditon_slice",			/* 514 = auditon_slice */
 };

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/kern/syscalls.master#3 (text+ko) ====

@@ -911,5 +911,7 @@
 512	AUE_SHMCTL	NOSTD	{ int shmctl(int shmid, int cmd, \
 				    struct shmid_ds *buf); }
 513	AUE_LPATHCONF	STD	{ int lpathconf(char *path, int name); }
+514	AUE_AUDITON	STD	{ int auditon_slice(int cmd, char *name, \
+				    void *data, u_int length); }
 ; Please copy any additions and changes to the following compatability tables:
 ; sys/compat/freebsd32/syscalls.master

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/kern/systrace_args.c#3 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call argument to DTrace register array converstion.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/systrace_args.c,v 1.33 2009/07/08 15:25:27 trasz Exp $
+ * $FreeBSD$
  * This file is part of the DTrace syscall provider.
  */
 
@@ -3072,6 +3072,16 @@
 		*n_args = 2;
 		break;
 	}
+	/* auditon_slice */
+	case 514: {
+		struct auditon_slice_args *p = params;
+		iarg[0] = p->cmd; /* int */
+		uarg[1] = (intptr_t) p->name; /* char * */
+		uarg[2] = (intptr_t) p->data; /* void * */
+		uarg[3] = p->length; /* u_int */
+		*n_args = 4;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -8154,6 +8164,25 @@
 			break;
 		};
 		break;
+	/* auditon_slice */
+	case 514:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "char *";
+			break;
+		case 2:
+			p = "void *";
+			break;
+		case 3:
+			p = "u_int";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#17 (text) ====


==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_syscalls.c#10 (text) ====

@@ -153,20 +153,36 @@
 }
 
 /*
+ * Wrapper system call to auditon_slice that selects audit_base_slice to
+ * operate on.
+ */
+/* ARGSUSED */
+int
+auditon(struct thread *td, struct auditon_args *uap)
+{
+
+	/* Dummy syscall -- to be changed */
+	return (ENOSYS);
+}
+
+/*
  *  System call to manipulate auditing.
  */
 /* ARGSUSED */
 int
-auditon(struct thread *td, struct auditon_args *uap)
+auditon_slice(struct thread *td, struct auditon_slice_args *uap)
 {
 	struct ucred *cred, *newcred, *oldcred;
+	struct audit_slice *as = NULL;
 	int error;
 	union auditon_udata udata;
 	struct proc *tp;
+	char as_name[AUDIT_SLICE_NAME_LEN];
 
 	if (jailed(td->td_ucred))
 		return (ENOSYS);
 	AUDIT_ARG_CMD(uap->cmd);
+	AUDIT_ARG_TEXT(uap->name);
 
 #ifdef MAC
 	error = mac_system_check_auditon(td->td_ucred, uap->cmd);
@@ -181,6 +197,20 @@
 	if ((uap->length <= 0) || (uap->length > sizeof(union auditon_udata)))
 		return (EINVAL);
 
+	/*
+	 * Copyin the name of the slice we need to operate on.
+	 */
+	error = copyinstr(uap->name, as_name, AUDIT_SLICE_NAME_LEN, NULL);
+	if (error)
+		return (EINVAL);
+
+	/*
+	 * Find the slice we should operate on.
+	 */
+	error = audit_slice_lookup(as_name, as);
+	if (error)
+		return (error);
+
 	memset((void *)&udata, 0, sizeof(udata));
 
 	/*
@@ -219,25 +249,25 @@
 	case A_OLDGETPOLICY:
 	case A_GETPOLICY:
 		if (uap->length == sizeof(udata.au_policy64)) {
-			if (!audit_base_slice->audit_fail_stop)
+			if (!as->audit_fail_stop)
 				udata.au_policy64 |= AUDIT_CNT;
-			if (audit_base_slice->audit_panic_on_write_fail)
+			if (as->audit_panic_on_write_fail)
 				udata.au_policy64 |= AUDIT_AHLT;
-			if (audit_base_slice->audit_argv)
+			if (as->audit_argv)
 				udata.au_policy64 |= AUDIT_ARGV;
-			if (audit_base_slice->audit_arge)
+			if (as->audit_arge)
 				udata.au_policy64 |= AUDIT_ARGE;
 			break;
 		}
 		if (uap->length != sizeof(udata.au_policy))
 			return (EINVAL);
-		if (!audit_base_slice->audit_fail_stop)
+		if (!as->audit_fail_stop)
 			udata.au_policy |= AUDIT_CNT;
-		if (audit_base_slice->audit_panic_on_write_fail)
+		if (as->audit_panic_on_write_fail)
 			udata.au_policy |= AUDIT_AHLT;
-		if (audit_base_slice->audit_argv)
+		if (as->audit_argv)
 			udata.au_policy |= AUDIT_ARGV;
-		if (audit_base_slice->audit_arge)
+		if (as->audit_arge)
 			udata.au_policy |= AUDIT_ARGE;
 		break;
 
@@ -247,13 +277,13 @@
 			if (udata.au_policy & (~AUDIT_CNT|AUDIT_AHLT|
 			    AUDIT_ARGV|AUDIT_ARGE))
 				return (EINVAL);
-			audit_base_slice->audit_fail_stop = ((udata.au_policy64 
+			as->audit_fail_stop = ((udata.au_policy64 
 						& AUDIT_CNT) == 0);
-			audit_base_slice->audit_panic_on_write_fail = 
+			as->audit_panic_on_write_fail = 
 				(udata.au_policy64 & AUDIT_AHLT);
-			audit_base_slice->audit_argv = (udata.au_policy64 
+			as->audit_argv = (udata.au_policy64 
 					& AUDIT_ARGV);
-			audit_base_slice->audit_arge = (udata.au_policy64 
+			as->audit_arge = (udata.au_policy64 
 					& AUDIT_ARGE);
 			break;
 		}
@@ -265,44 +295,44 @@
 		/*
 		 * XXX - Need to wake up waiters if the policy relaxes?
 		 */
-		audit_base_slice->audit_fail_stop = 
+		as->audit_fail_stop = 
 			((udata.au_policy & AUDIT_CNT) == 0);
-		audit_base_slice->audit_panic_on_write_fail = 
+		as->audit_panic_on_write_fail = 
 			(udata.au_policy & AUDIT_AHLT);
-		audit_base_slice->audit_argv = 
+		as->audit_argv = 
 			(udata.au_policy & AUDIT_ARGV);
-		audit_base_slice->audit_arge = 
+		as->audit_arge = 
 			(udata.au_policy & AUDIT_ARGE);
 		break;
 
 	case A_GETKMASK:
 		if (uap->length != sizeof(udata.au_mask))
 			return (EINVAL);
-		udata.au_mask = audit_base_slice->audit_nae_mask;
+		udata.au_mask = as->audit_nae_mask;
 		break;
 
 	case A_SETKMASK:
 		if (uap->length != sizeof(udata.au_mask))
 			return (EINVAL);
-		audit_base_slice->audit_nae_mask = udata.au_mask;
+		as->audit_nae_mask = udata.au_mask;
 		break;
 
 	case A_OLDGETQCTRL:
 	case A_GETQCTRL:
 		if (uap->length == sizeof(udata.au_qctrl64)) {
 			udata.au_qctrl64.aq64_hiwater =
-			    (u_int64_t)audit_base_slice->audit_qctrl.aq_hiwater;
+			    (u_int64_t)as->audit_qctrl.aq_hiwater;
 			udata.au_qctrl64.aq64_lowater =
-			    (u_int64_t)audit_base_slice->audit_qctrl.aq_lowater;
+			    (u_int64_t)as->audit_qctrl.aq_lowater;
 			udata.au_qctrl64.aq64_bufsz =
-			    (u_int64_t)audit_base_slice->audit_qctrl.aq_bufsz;
+			    (u_int64_t)as->audit_qctrl.aq_bufsz;
 			udata.au_qctrl64.aq64_minfree =
-			    (u_int64_t)audit_base_slice->audit_qctrl.aq_minfree;
+			    (u_int64_t)as->audit_qctrl.aq_minfree;
 			break;
 		}
 		if (uap->length != sizeof(udata.au_qctrl))
 			return (EINVAL);
-		udata.au_qctrl = audit_base_slice->audit_qctrl;
+		udata.au_qctrl = as->audit_qctrl;
 		break;
 
 	case A_OLDSETQCTRL:
@@ -315,16 +345,16 @@
 			    (udata.au_qctrl64.aq64_minfree < 0) ||
 			    (udata.au_qctrl64.aq64_minfree > 100))
 				return (EINVAL);
-			audit_base_slice->audit_qctrl.aq_hiwater =
+			as->audit_qctrl.aq_hiwater =
 			    (int)udata.au_qctrl64.aq64_hiwater;
-			audit_base_slice->audit_qctrl.aq_lowater =
+			as->audit_qctrl.aq_lowater =
 			    (int)udata.au_qctrl64.aq64_lowater;
-			audit_base_slice->audit_qctrl.aq_bufsz =
+			as->audit_qctrl.aq_bufsz =
 			    (int)udata.au_qctrl64.aq64_bufsz;
-			audit_base_slice->audit_qctrl.aq_minfree =
+			as->audit_qctrl.aq_minfree =
 			    (int)udata.au_qctrl64.aq64_minfree;
 			/* Not used. */
-			audit_base_slice->audit_qctrl.aq_delay = -1;	
+			as->audit_qctrl.aq_delay = -1;	
 			break;
 		}
 		if (uap->length != sizeof(udata.au_qctrl))
@@ -336,9 +366,9 @@
 		    (udata.au_qctrl.aq_minfree > 100))
 			return (EINVAL);
 
-		audit_base_slice->audit_qctrl = udata.au_qctrl;
+		as->audit_qctrl = udata.au_qctrl;
 		/* XXX The queue delay value isn't used with the kernel. */
-		audit_base_slice->audit_qctrl.aq_delay = -1;
+		as->audit_qctrl.aq_delay = -1;
 		break;
 
 	case A_GETCWD:
@@ -368,8 +398,8 @@
 	case A_OLDGETCOND:
 	case A_GETCOND:
 		if (uap->length == sizeof(udata.au_cond64)) {
-			if (audit_base_slice->audit_enabled 
-					&& !audit_base_slice->audit_suspended)
+			if (as->audit_enabled 
+					&& !as->audit_suspended)
 				udata.au_cond64 = AUC_AUDITING;
 			else
 				udata.au_cond64 = AUC_NOAUDIT;
@@ -377,8 +407,8 @@
 		}
 		if (uap->length != sizeof(udata.au_cond))
 			return (EINVAL);
-		if (audit_base_slice->audit_enabled 
-				&& !audit_base_slice->audit_suspended)
+		if (as->audit_enabled 
+				&& !as->audit_suspended)
 			udata.au_cond = AUC_AUDITING;
 		else
 			udata.au_cond = AUC_NOAUDIT;
@@ -388,27 +418,27 @@
 	case A_SETCOND:
 		if (uap->length == sizeof(udata.au_cond64)) {
 			if (udata.au_cond64 == AUC_NOAUDIT)
-				audit_base_slice->audit_suspended = 1;
+				as->audit_suspended = 1;
 			if (udata.au_cond64 == AUC_AUDITING)
-				audit_base_slice->audit_suspended = 0;
+				as->audit_suspended = 0;
 			if (udata.au_cond64 == AUC_DISABLED) {
-				audit_base_slice->audit_suspended = 1;
+				as->audit_suspended = 1;
 				audit_shutdown(NULL, 0);
 			}
-			audit_suspended = audit_base_slice->audit_suspended;
+			audit_suspended = as->audit_suspended;
 			break;
 		}
 		if (uap->length != sizeof(udata.au_cond))
 			return (EINVAL);
 		if (udata.au_cond == AUC_NOAUDIT)
-			audit_base_slice->audit_suspended = 1;
+			as->audit_suspended = 1;
 		if (udata.au_cond == AUC_AUDITING)
-			audit_base_slice->audit_suspended = 0;
+			as->audit_suspended = 0;
 		if (udata.au_cond == AUC_DISABLED) {
-			audit_base_slice->audit_suspended = 1;
+			as->audit_suspended = 1;
 			audit_shutdown(NULL, 0);
 		}
-		audit_suspended = audit_base_slice->audit_suspended;
+		audit_suspended = as->audit_suspended;
 		break;
 
 	case A_GETCLASS:
@@ -486,7 +516,7 @@
 		if ((udata.au_fstat.af_filesz != 0) &&
 		   (udata.au_fstat.af_filesz < MIN_AUDIT_FILE_SIZE))
 			return (EINVAL);
-		audit_base_slice->audit_fstat.af_filesz 
+		as->audit_fstat.af_filesz 
 			= udata.au_fstat.af_filesz;
 		break;
 
@@ -494,9 +524,9 @@
 		if (uap->length != sizeof(udata.au_fstat))
 			return (EINVAL);
 		udata.au_fstat.af_filesz 
-			= audit_base_slice->audit_fstat.af_filesz;
+			= as->audit_fstat.af_filesz;
 		udata.au_fstat.af_currsz 
-			= audit_base_slice->audit_fstat.af_currsz;
+			= as->audit_fstat.af_currsz;
 		break;
 
 	case A_GETPINFO_ADDR:
@@ -880,6 +910,13 @@
 }
 
 int
+auditon_slice(struct thread *td, struct auditon_slice_args *uap)
+{
+
+	return (ENOSYS);
+}
+
+int
 getauid(struct thread *td, struct getauid_args *uap)
 {
 

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/sys/syscall.h#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/sys/syscall.h,v 1.233 2009/07/08 15:25:27 trasz Exp $
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.259 2009/07/08 15:23:18 trasz Exp 
  */
 
 #define	SYS_syscall	0
@@ -428,4 +428,5 @@
 #define	SYS_msgctl	511
 #define	SYS_shmctl	512
 #define	SYS_lpathconf	513
-#define	SYS_MAXSYSCALL	514
+#define	SYS_auditon_slice	514
+#define	SYS_MAXSYSCALL	515

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/sys/syscall.mk#3 (text+ko) ====

@@ -1,7 +1,7 @@
 # FreeBSD system call names.
 # DO NOT EDIT-- this file is automatically generated.
-# $FreeBSD: src/sys/sys/syscall.mk,v 1.188 2009/07/08 15:25:27 trasz Exp $
-# created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+# $FreeBSD$
+# created from FreeBSD: src/sys/kern/syscalls.master,v 1.259 2009/07/08 15:23:18 trasz Exp 
 MIASM =  \
 	syscall.o \
 	exit.o \
@@ -376,4 +376,5 @@
 	__semctl.o \
 	msgctl.o \
 	shmctl.o \
-	lpathconf.o
+	lpathconf.o \
+	auditon_slice.o

==== //depot/projects/soc2009/marinosi_appaudit/src/sys/sys/sysproto.h#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/sys/sysproto.h,v 1.237 2009/07/08 15:25:27 trasz Exp $
- * created from FreeBSD: head/sys/kern/syscalls.master 195458 2009-07-08 15:23:18Z trasz 
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.259 2009/07/08 15:23:18 trasz Exp 
  */
 
 #ifndef _SYS_SYSPROTO_H_
@@ -1641,6 +1641,12 @@
 	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
 	char name_l_[PADL_(int)]; int name; char name_r_[PADR_(int)];
 };
+struct auditon_slice_args {
+	char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+	char name_l_[PADL_(char *)]; char * name; char name_r_[PADR_(char *)];
+	char data_l_[PADL_(void *)]; void * data; char data_r_[PADR_(void *)];
+	char length_l_[PADL_(u_int)]; u_int length; char length_r_[PADR_(u_int)];
+};
 int	nosys(struct thread *, struct nosys_args *);
 void	sys_exit(struct thread *, struct sys_exit_args *);
 int	fork(struct thread *, struct fork_args *);
@@ -1999,6 +2005,7 @@
 int	msgctl(struct thread *, struct msgctl_args *);
 int	shmctl(struct thread *, struct shmctl_args *);
 int	lpathconf(struct thread *, struct lpathconf_args *);
+int	auditon_slice(struct thread *, struct auditon_slice_args *);
 
 #ifdef COMPAT_43
 
@@ -2671,6 +2678,7 @@
 #define	SYS_AUE_msgctl	AUE_MSGCTL
 #define	SYS_AUE_shmctl	AUE_SHMCTL
 #define	SYS_AUE_lpathconf	AUE_LPATHCONF
+#define	SYS_AUE_auditon_slice	AUE_AUDITON
 
 #undef PAD_
 #undef PADL_


More information about the p4-projects mailing list