Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Aug 2008 21:30:12 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 148291 for review
Message-ID:  <200808242130.m7OLUCni069838@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=148291

Change 148291 by rwatson@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_



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808242130.m7OLUCni069838>