From owner-p4-projects@FreeBSD.ORG Tue Jan 13 19:15:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E4A7A1065C1C; Tue, 13 Jan 2009 19:15:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D5381065C3B for ; Tue, 13 Jan 2009 19:15:02 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AA83B8FC20 for ; Tue, 13 Jan 2009 19:14:59 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n0DJExjm073386 for ; Tue, 13 Jan 2009 19:14:59 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n0DJExOb073384 for perforce@freebsd.org; Tue, 13 Jan 2009 19:14:59 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 13 Jan 2009 19:14:59 GMT Message-Id: <200901131914.n0DJExOb073384@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 156104 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jan 2009 19:15:08 -0000 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_