Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2009 19:14:59 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 156104 for review
Message-ID:  <200901131914.n0DJExOb073384@repoman.freebsd.org>

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

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



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