PERFORCE change 156104 for review
Robert Watson
rwatson at FreeBSD.org
Tue Jan 13 11:15:08 PST 2009
http://perforce.freebsd.org/chv.cgi?CH=156104
Change 156104 by rwatson at rwatson_freebsd_capabilities on 2009/01/13 19:14:43
Fix capability syscall numbering post-integ, regenerate.
Affected files ...
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#21 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#13 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/systrace_args.c#21 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#21 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#21 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#21 edit
Differences ...
==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.c#21 (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.230 2008/11/09 10:48:06 ed Exp $
- * created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.249 2008/11/09 10:45:13 ed Exp
*/
const char *syscallnames[] = {
@@ -513,4 +513,8 @@
"unlinkat", /* 503 = unlinkat */
"posix_openpt", /* 504 = posix_openpt */
"gssd_syscall", /* 505 = gssd_syscall */
+ "cap_new", /* 506 = cap_new */
+ "cap_getrights", /* 507 = cap_getrights */
+ "cap_enter", /* 508 = cap_enter */
+ "cap_getmode", /* 509 = cap_getmode */
};
==== //depot/projects/trustedbsd/capabilities/src/sys/kern/syscalls.master#13 (text+ko) ====
@@ -897,10 +897,10 @@
504 AUE_POSIX_OPENPT STD { int posix_openpt(int flags); }
; 505 is initialised by the kgssapi code, if present.
505 AUE_NULL NOSTD { int gssd_syscall(char *path); }
-505 AUE_CAP_NEW STD { int cap_new(int fd, u_int64_t rights); }
-506 AUE_CAP_GETRIGHTS STD { int cap_getrights(int fd, \
+506 AUE_CAP_NEW STD { int cap_new(int fd, u_int64_t rights); }
+507 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); }
+508 AUE_CAP_ENTER STD { int cap_enter(void); }
+509 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#21 (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.28 2008/11/09 10:48:06 ed Exp $
+ * $FreeBSD$
* This file is part of the DTrace syscall provider.
*/
@@ -3040,6 +3040,34 @@
*n_args = 1;
break;
}
+ /* cap_new */
+ case 506: {
+ struct cap_new_args *p = params;
+ iarg[0] = p->fd; /* int */
+ uarg[1] = p->rights; /* u_int64_t */
+ *n_args = 2;
+ break;
+ }
+ /* cap_getrights */
+ case 507: {
+ struct cap_getrights_args *p = params;
+ iarg[0] = p->fd; /* int */
+ uarg[1] = (intptr_t) p->rightsp; /* u_int64_t * */
+ *n_args = 2;
+ break;
+ }
+ /* cap_enter */
+ case 508: {
+ *n_args = 0;
+ break;
+ }
+ /* cap_getmode */
+ case 509: {
+ struct cap_getmode_args *p = params;
+ uarg[0] = (intptr_t) p->modep; /* u_int * */
+ *n_args = 1;
+ break;
+ }
default:
*n_args = 0;
break;
@@ -8070,6 +8098,45 @@
break;
};
break;
+ /* cap_new */
+ case 506:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "u_int64_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* cap_getrights */
+ case 507:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "u_int64_t *";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* cap_enter */
+ case 508:
+ break;
+ /* cap_getmode */
+ case 509:
+ switch(ndx) {
+ case 0:
+ p = "u_int *";
+ break;
+ default:
+ break;
+ };
+ break;
default:
break;
};
==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.h#21 (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.227 2008/11/09 10:48:06 ed Exp $
- * created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.249 2008/11/09 10:45:13 ed Exp
*/
#define SYS_syscall 0
@@ -421,4 +421,8 @@
#define SYS_unlinkat 503
#define SYS_posix_openpt 504
#define SYS_gssd_syscall 505
-#define SYS_MAXSYSCALL 506
+#define SYS_cap_new 506
+#define SYS_cap_getrights 507
+#define SYS_cap_enter 508
+#define SYS_cap_getmode 509
+#define SYS_MAXSYSCALL 510
==== //depot/projects/trustedbsd/capabilities/src/sys/sys/syscall.mk#21 (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.182 2008/11/09 10:48:06 ed Exp $
-# created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed
+# $FreeBSD$
+# created from FreeBSD: src/sys/kern/syscalls.master,v 1.249 2008/11/09 10:45:13 ed Exp
MIASM = \
syscall.o \
exit.o \
@@ -369,4 +369,8 @@
symlinkat.o \
unlinkat.o \
posix_openpt.o \
- gssd_syscall.o
+ gssd_syscall.o \
+ cap_new.o \
+ cap_getrights.o \
+ cap_enter.o \
+ cap_getmode.o
==== //depot/projects/trustedbsd/capabilities/src/sys/sys/sysproto.h#21 (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.231 2008/11/09 10:48:06 ed Exp $
- * created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed
+ * $FreeBSD$
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.249 2008/11/09 10:45:13 ed Exp
*/
#ifndef _SYS_SYSPROTO_H_
@@ -1625,6 +1625,20 @@
struct gssd_syscall_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
};
+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 nosys(struct thread *, struct nosys_args *);
void sys_exit(struct thread *, struct sys_exit_args *);
int fork(struct thread *, struct fork_args *);
@@ -1979,6 +1993,10 @@
int unlinkat(struct thread *, struct unlinkat_args *);
int posix_openpt(struct thread *, struct posix_openpt_args *);
int gssd_syscall(struct thread *, struct gssd_syscall_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
@@ -2572,6 +2590,10 @@
#define SYS_AUE_unlinkat AUE_UNLINKAT
#define SYS_AUE_posix_openpt AUE_POSIX_OPENPT
#define SYS_AUE_gssd_syscall 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