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>