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