PERFORCE change 148291 for review
Robert Watson
rwatson at FreeBSD.org
Sun Aug 24 21:30:13 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=148291
Change 148291 by rwatson at rwatson_freebsd_capabilities on 2008/08/24 21:30:10
Add 32-bit compat versions of capability system calls.
Hook up audit event assignments to system call definitions.
Regenerate.
Affected files ...
.. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_proto.h#7 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscall.h#7 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscalls.c#7 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_sysent.c#7 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/syscalls.master#7 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#18 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#18 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#11 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#18 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#18 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#18 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#18 edit
Differences ...
==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_proto.h#7 (text+ko) ====
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.102 2008/08/20 08:31:58 ed Exp
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.103 2008/08/21 22:57:31 obrien Exp
*/
#ifndef _FREEBSD32_SYSPROTO_H_
@@ -373,6 +373,20 @@
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
char times_l_[PADL_(struct timeval *)]; struct timeval * times; char times_r_[PADR_(struct timeval *)];
};
+struct cap_new_args {
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char rights_l_[PADL_(u_int64_t)]; u_int64_t rights; char rights_r_[PADR_(u_int64_t)];
+};
+struct cap_getrights_args {
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char rightsp_l_[PADL_(u_int64_t *)]; u_int64_t * rightsp; char rightsp_r_[PADR_(u_int64_t *)];
+};
+struct cap_enter_args {
+ register_t dummy;
+};
+struct cap_getmode_args {
+ char modep_l_[PADL_(u_int *)]; u_int * modep; char modep_r_[PADR_(u_int *)];
+};
int freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *);
int freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *);
int freebsd32_sendmsg(struct thread *, struct freebsd32_sendmsg_args *);
@@ -437,6 +451,10 @@
int freebsd32_fexecve(struct thread *, struct freebsd32_fexecve_args *);
int freebsd32_fstatat(struct thread *, struct freebsd32_fstatat_args *);
int freebsd32_futimesat(struct thread *, struct freebsd32_futimesat_args *);
+int cap_new(struct thread *, struct cap_new_args *);
+int cap_getrights(struct thread *, struct cap_getrights_args *);
+int cap_enter(struct thread *, struct cap_enter_args *);
+int cap_getmode(struct thread *, struct cap_getmode_args *);
#ifdef COMPAT_43
@@ -647,6 +665,10 @@
#define FREEBSD32_SYS_AUE_freebsd32_fexecve AUE_FEXECVE
#define FREEBSD32_SYS_AUE_freebsd32_fstatat AUE_FSTATAT
#define FREEBSD32_SYS_AUE_freebsd32_futimesat AUE_FUTIMESAT
+#define FREEBSD32_SYS_AUE_cap_new AUE_CAP_NEW
+#define FREEBSD32_SYS_AUE_cap_getrights AUE_CAP_GETRIGHTS
+#define FREEBSD32_SYS_AUE_cap_enter AUE_CAP_ENTER
+#define FREEBSD32_SYS_AUE_cap_getmode AUE_CAP_GETMODE
#undef PAD_
#undef PADL_
==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscall.h#7 (text+ko) ====
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.102 2008/08/20 08:31:58 ed Exp
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.103 2008/08/21 22:57:31 obrien Exp
*/
#define FREEBSD32_SYS_syscall 0
@@ -356,4 +356,8 @@
#define FREEBSD32_SYS_symlinkat 502
#define FREEBSD32_SYS_unlinkat 503
#define FREEBSD32_SYS_posix_openpt 504
-#define FREEBSD32_SYS_MAXSYSCALL 505
+#define FREEBSD32_SYS_cap_new 505
+#define FREEBSD32_SYS_cap_getrights 506
+#define FREEBSD32_SYS_cap_enter 507
+#define FREEBSD32_SYS_cap_getmode 508
+#define FREEBSD32_SYS_MAXSYSCALL 509
==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_syscalls.c#7 (text+ko) ====
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.102 2008/08/20 08:31:58 ed Exp
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.103 2008/08/21 22:57:31 obrien Exp
*/
const char *freebsd32_syscallnames[] = {
@@ -512,4 +512,8 @@
"symlinkat", /* 502 = symlinkat */
"unlinkat", /* 503 = unlinkat */
"posix_openpt", /* 504 = posix_openpt */
+ "cap_new", /* 505 = cap_new */
+ "cap_getrights", /* 506 = cap_getrights */
+ "cap_enter", /* 507 = cap_enter */
+ "cap_getmode", /* 508 = cap_getmode */
};
==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/freebsd32_sysent.c#7 (text+ko) ====
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.102 2008/08/20 08:31:58 ed Exp
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.103 2008/08/21 22:57:31 obrien Exp
*/
#include "opt_compat.h"
@@ -543,4 +543,8 @@
{ AS(symlinkat_args), (sy_call_t *)symlinkat, AUE_SYMLINKAT, NULL, 0, 0, 0 }, /* 502 = symlinkat */
{ AS(unlinkat_args), (sy_call_t *)unlinkat, AUE_UNLINKAT, NULL, 0, 0, 0 }, /* 503 = unlinkat */
{ AS(posix_openpt_args), (sy_call_t *)posix_openpt, AUE_POSIXOPENPT, NULL, 0, 0, 0 }, /* 504 = posix_openpt */
+ { AS(cap_new_args), (sy_call_t *)cap_new, AUE_CAP_NEW, NULL, 0, 0, 0 }, /* 505 = cap_new */
+ { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_CAP_GETRIGHTS, NULL, 0, 0, 0 }, /* 506 = cap_getrights */
+ { 0, (sy_call_t *)cap_enter, AUE_CAP_ENTER, NULL, 0, 0, 0 }, /* 507 = cap_enter */
+ { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_CAP_GETMODE, NULL, 0, 0, 0 }, /* 508 = cap_getmode */
};
==== //depot/projects/trustedbsd/capabilities/src/sys/compat/freebsd32/syscalls.master#7 (text+ko) ====
@@ -854,3 +854,8 @@
503 AUE_UNLINKAT NOPROTO { int unlinkat(int fd, char *path, \
int flag); }
504 AUE_POSIXOPENPT NOPROTO { int posix_openpt(int flags); }
+505 AUE_CAP_NEW STD { int cap_new(int fd, u_int64_t rights); }
+506 AUE_CAP_GETRIGHTS STD { int cap_getrights(int fd, \
+ u_int64_t *rightsp); }
+507 AUE_CAP_ENTER STD { int cap_enter(void); }
+508 AUE_CAP_GETMODE STD { int cap_getmode(u_int *modep); }
==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#18 (text+ko) ====
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.244 2008/08/20 08:31:58 ed Exp
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.245 2008/08/21 22:57:31 obrien Exp
*/
#include "opt_compat.h"
@@ -510,7 +510,7 @@
{ AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 479 = truncate */
{ AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0, SYF_CAPENABLED }, /* 480 = ftruncate */
{ AS(thr_kill2_args), (sy_call_t *)thr_kill2, AUE_KILL, NULL, 0, 0, 0 }, /* 481 = thr_kill2 */
- { AS(shm_open_args), (sy_call_t *)shm_open, AUE_SHMOPEN, NULL, 0, 0, 0 }, /* 482 = shm_open */
+ { AS(shm_open_args), (sy_call_t *)shm_open, AUE_SHMOPEN, NULL, 0, 0, SYF_CAPENABLED }, /* 482 = shm_open */
{ AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_SHMUNLINK, NULL, 0, 0, 0 }, /* 483 = shm_unlink */
{ AS(cpuset_args), (sy_call_t *)cpuset, AUE_NULL, NULL, 0, 0, 0 }, /* 484 = cpuset */
{ AS(cpuset_setid_args), (sy_call_t *)cpuset_setid, AUE_NULL, NULL, 0, 0, 0 }, /* 485 = cpuset_setid */
@@ -533,8 +533,8 @@
{ AS(symlinkat_args), (sy_call_t *)symlinkat, AUE_SYMLINKAT, NULL, 0, 0, 0 }, /* 502 = symlinkat */
{ AS(unlinkat_args), (sy_call_t *)unlinkat, AUE_UNLINKAT, NULL, 0, 0, 0 }, /* 503 = unlinkat */
{ AS(posix_openpt_args), (sy_call_t *)posix_openpt, AUE_POSIXOPENPT, NULL, 0, 0, 0 }, /* 504 = posix_openpt */
- { AS(cap_new_args), (sy_call_t *)cap_new, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 505 = cap_new */
- { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 506 = cap_getrights */
- { 0, (sy_call_t *)cap_enter, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 507 = cap_enter */
- { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED }, /* 508 = cap_getmode */
+ { AS(cap_new_args), (sy_call_t *)cap_new, AUE_CAP_NEW, NULL, 0, 0, SYF_CAPENABLED }, /* 505 = cap_new */
+ { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_CAP_GETRIGHTS, NULL, 0, 0, SYF_CAPENABLED }, /* 506 = cap_getrights */
+ { 0, (sy_call_t *)cap_enter, AUE_CAP_ENTER, NULL, 0, 0, SYF_CAPENABLED }, /* 507 = cap_enter */
+ { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_CAP_GETMODE, NULL, 0, 0, SYF_CAPENABLED }, /* 508 = cap_getmode */
};
==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#18 (text+ko) ====
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.244 2008/08/20 08:31:58 ed Exp
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.245 2008/08/21 22:57:31 obrien Exp
*/
const char *syscallnames[] = {
==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#11 (text+ko) ====
@@ -895,10 +895,10 @@
char *path2); }
503 AUE_UNLINKAT STD { int unlinkat(int fd, char *path, int flag); }
504 AUE_POSIXOPENPT STD { int posix_openpt(int flags); }
-505 AUE_NULL STD { int cap_new(int fd, u_int64_t rights); }
-506 AUE_NULL STD { int cap_getrights(int fd, \
+505 AUE_CAP_NEW STD { int cap_new(int fd, u_int64_t rights); }
+506 AUE_CAP_GETRIGHTS STD { int cap_getrights(int fd, \
u_int64_t *rightsp); }
-507 AUE_NULL STD { int cap_enter(void); }
-508 AUE_NULL STD { int cap_getmode(u_int *modep); }
+507 AUE_CAP_ENTER STD { int cap_enter(void); }
+508 AUE_CAP_GETMODE STD { int cap_getmode(u_int *modep); }
; Please copy any additions and changes to the following compatability tables:
; sys/compat/freebsd32/syscalls.master
==== //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#18 (text+ko) ====
==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#18 (text+ko) ====
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.244 2008/08/20 08:31:58 ed Exp
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.245 2008/08/21 22:57:31 obrien Exp
*/
#define SYS_syscall 0
==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#18 (text+ko) ====
@@ -1,7 +1,7 @@
# FreeBSD system call names.
# DO NOT EDIT-- this file is automatically generated.
# $FreeBSD$
-# created from FreeBSD: src/sys/kern/syscalls.master,v 1.244 2008/08/20 08:31:58 ed Exp
+# created from FreeBSD: src/sys/kern/syscalls.master,v 1.245 2008/08/21 22:57:31 obrien Exp
MIASM = \
syscall.o \
exit.o \
==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#18 (text+ko) ====
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.244 2008/08/20 08:31:58 ed Exp
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.245 2008/08/21 22:57:31 obrien Exp
*/
#ifndef _SYS_SYSPROTO_H_
@@ -2592,10 +2592,10 @@
#define SYS_AUE_symlinkat AUE_SYMLINKAT
#define SYS_AUE_unlinkat AUE_UNLINKAT
#define SYS_AUE_posix_openpt AUE_POSIXOPENPT
-#define SYS_AUE_cap_new AUE_NULL
-#define SYS_AUE_cap_getrights AUE_NULL
-#define SYS_AUE_cap_enter AUE_NULL
-#define SYS_AUE_cap_getmode AUE_NULL
+#define SYS_AUE_cap_new AUE_CAP_NEW
+#define SYS_AUE_cap_getrights AUE_CAP_GETRIGHTS
+#define SYS_AUE_cap_enter AUE_CAP_ENTER
+#define SYS_AUE_cap_getmode AUE_CAP_GETMODE
#undef PAD_
#undef PADL_
More information about the p4-projects
mailing list