From 8fbb51e63754407583af36cbc775f8f3bae6b1e7 Mon Sep 17 00:00:00 2001 From: jamie Date: Wed, 29 Apr 2009 21:50:13 +0000 Subject: Regen for new jail system calls in r191673. Approved by: bz (mentor) --- sys/compat/freebsd32/freebsd32_proto.h | 16 +++++++- sys/compat/freebsd32/freebsd32_syscall.h | 7 +++- sys/compat/freebsd32/freebsd32_syscalls.c | 5 ++- sys/compat/freebsd32/freebsd32_sysent.c | 5 ++- sys/kern/init_sysent.c | 5 ++- sys/kern/syscalls.c | 5 ++- sys/kern/systrace_args.c | 67 +++++++++++++++++++++++++++++++ sys/sys/syscall.h | 7 +++- sys/sys/syscall.mk | 7 +++- sys/sys/sysproto.h | 21 +++++++++- 10 files changed, 133 insertions(+), 12 deletions(-) (limited to 'sys') diff --git a/sys/compat/freebsd32/freebsd32_proto.h b/sys/compat/freebsd32/freebsd32_proto.h index bcca32b..5a12c5dd 100644 --- a/sys/compat/freebsd32/freebsd32_proto.h +++ b/sys/compat/freebsd32/freebsd32_proto.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 190621 2009-04-01 13:11:50Z kib + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 191673 2009-04-29 21:14:15Z jamie */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -443,6 +443,16 @@ struct freebsd32_futimesat_args { 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 freebsd32_jail_get_args { + char iovp_l_[PADL_(struct iovec32 *)]; struct iovec32 * iovp; char iovp_r_[PADR_(struct iovec32 *)]; + char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; +}; +struct freebsd32_jail_set_args { + char iovp_l_[PADL_(struct iovec32 *)]; struct iovec32 * iovp; char iovp_r_[PADR_(struct iovec32 *)]; + char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(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 *); @@ -524,6 +534,8 @@ int freebsd32_cpuset_setaffinity(struct thread *, struct freebsd32_cpuset_setaff 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 freebsd32_jail_get(struct thread *, struct freebsd32_jail_get_args *); +int freebsd32_jail_set(struct thread *, struct freebsd32_jail_set_args *); #ifdef COMPAT_43 @@ -751,6 +763,8 @@ int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftru #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_freebsd32_jail_get AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd32_jail_set AUE_NULL #undef PAD_ #undef PADL_ diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h index b6e2b6e..73fc7b3 100644 --- a/sys/compat/freebsd32/freebsd32_syscall.h +++ b/sys/compat/freebsd32/freebsd32_syscall.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 190621 2009-04-01 13:11:50Z kib + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 191673 2009-04-29 21:14:15Z jamie */ #define FREEBSD32_SYS_syscall 0 @@ -368,4 +368,7 @@ #define FREEBSD32_SYS_symlinkat 502 #define FREEBSD32_SYS_unlinkat 503 #define FREEBSD32_SYS_posix_openpt 504 -#define FREEBSD32_SYS_MAXSYSCALL 506 +#define FREEBSD32_SYS_freebsd32_jail_get 506 +#define FREEBSD32_SYS_freebsd32_jail_set 507 +#define FREEBSD32_SYS_jail_remove 508 +#define FREEBSD32_SYS_MAXSYSCALL 509 diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c index cf3f1cc..c31d080 100644 --- a/sys/compat/freebsd32/freebsd32_syscalls.c +++ b/sys/compat/freebsd32/freebsd32_syscalls.c @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 190621 2009-04-01 13:11:50Z kib + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 191673 2009-04-29 21:14:15Z jamie */ const char *freebsd32_syscallnames[] = { @@ -513,4 +513,7 @@ const char *freebsd32_syscallnames[] = { "unlinkat", /* 503 = unlinkat */ "posix_openpt", /* 504 = posix_openpt */ "#505", /* 505 = gssd_syscall */ + "freebsd32_jail_get", /* 506 = freebsd32_jail_get */ + "freebsd32_jail_set", /* 507 = freebsd32_jail_set */ + "jail_remove", /* 508 = jail_remove */ }; diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c index 9e75246..12459ca 100644 --- a/sys/compat/freebsd32/freebsd32_sysent.c +++ b/sys/compat/freebsd32/freebsd32_sysent.c @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 190621 2009-04-01 13:11:50Z kib + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 191673 2009-04-29 21:14:15Z jamie */ #include "opt_compat.h" @@ -544,4 +544,7 @@ struct sysent freebsd32_sysent[] = { { AS(unlinkat_args), (sy_call_t *)unlinkat, AUE_UNLINKAT, NULL, 0, 0 }, /* 503 = unlinkat */ { AS(posix_openpt_args), (sy_call_t *)posix_openpt, AUE_POSIX_OPENPT, NULL, 0, 0 }, /* 504 = posix_openpt */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 505 = gssd_syscall */ + { AS(freebsd32_jail_get_args), (sy_call_t *)freebsd32_jail_get, AUE_NULL, NULL, 0, 0 }, /* 506 = freebsd32_jail_get */ + { AS(freebsd32_jail_set_args), (sy_call_t *)freebsd32_jail_set, AUE_NULL, NULL, 0, 0 }, /* 507 = freebsd32_jail_set */ + { AS(jail_remove_args), (sy_call_t *)jail_remove, AUE_NULL, NULL, 0, 0 }, /* 508 = jail_remove */ }; diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c index fe53ac3..964d2b6 100644 --- a/sys/kern/init_sysent.c +++ b/sys/kern/init_sysent.c @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed + * created from FreeBSD: head/sys/kern/syscalls.master 191673 2009-04-29 21:14:15Z jamie */ #include "opt_compat.h" @@ -534,4 +534,7 @@ struct sysent sysent[] = { { AS(unlinkat_args), (sy_call_t *)unlinkat, AUE_UNLINKAT, NULL, 0, 0 }, /* 503 = unlinkat */ { AS(posix_openpt_args), (sy_call_t *)posix_openpt, AUE_POSIX_OPENPT, NULL, 0, 0 }, /* 504 = posix_openpt */ { AS(gssd_syscall_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 505 = gssd_syscall */ + { AS(jail_get_args), (sy_call_t *)jail_get, AUE_NULL, NULL, 0, 0 }, /* 506 = jail_get */ + { AS(jail_set_args), (sy_call_t *)jail_set, AUE_NULL, NULL, 0, 0 }, /* 507 = jail_set */ + { AS(jail_remove_args), (sy_call_t *)jail_remove, AUE_NULL, NULL, 0, 0 }, /* 508 = jail_remove */ }; diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c index a3e9c28..1027b1a 100644 --- a/sys/kern/syscalls.c +++ b/sys/kern/syscalls.c @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed + * created from FreeBSD: head/sys/kern/syscalls.master 191673 2009-04-29 21:14:15Z jamie */ const char *syscallnames[] = { @@ -513,4 +513,7 @@ const char *syscallnames[] = { "unlinkat", /* 503 = unlinkat */ "posix_openpt", /* 504 = posix_openpt */ "gssd_syscall", /* 505 = gssd_syscall */ + "jail_get", /* 506 = jail_get */ + "jail_set", /* 507 = jail_set */ + "jail_remove", /* 508 = jail_remove */ }; diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c index 104c05b..6b22743 100644 --- a/sys/kern/systrace_args.c +++ b/sys/kern/systrace_args.c @@ -3040,6 +3040,31 @@ systrace_args(int sysnum, void *params, u_int64_t *uarg, int *n_args) *n_args = 1; break; } + /* jail_get */ + case 506: { + struct jail_get_args *p = params; + uarg[0] = (intptr_t) p->iovp; /* struct iovec * */ + uarg[1] = p->iovcnt; /* unsigned int */ + iarg[2] = p->flags; /* int */ + *n_args = 3; + break; + } + /* jail_set */ + case 507: { + struct jail_set_args *p = params; + uarg[0] = (intptr_t) p->iovp; /* struct iovec * */ + uarg[1] = p->iovcnt; /* unsigned int */ + iarg[2] = p->flags; /* int */ + *n_args = 3; + break; + } + /* jail_remove */ + case 508: { + struct jail_remove_args *p = params; + iarg[0] = p->jid; /* int */ + *n_args = 1; + break; + } default: *n_args = 0; break; @@ -8070,6 +8095,48 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* jail_get */ + case 506: + switch(ndx) { + case 0: + p = "struct iovec *"; + break; + case 1: + p = "unsigned int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* jail_set */ + case 507: + switch(ndx) { + case 0: + p = "struct iovec *"; + break; + case 1: + p = "unsigned int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; + /* jail_remove */ + case 508: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; default: break; }; diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h index 3f35974..16f1d9a 100644 --- a/sys/sys/syscall.h +++ b/sys/sys/syscall.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed + * created from FreeBSD: head/sys/kern/syscalls.master 191673 2009-04-29 21:14:15Z jamie */ #define SYS_syscall 0 @@ -421,4 +421,7 @@ #define SYS_unlinkat 503 #define SYS_posix_openpt 504 #define SYS_gssd_syscall 505 -#define SYS_MAXSYSCALL 506 +#define SYS_jail_get 506 +#define SYS_jail_set 507 +#define SYS_jail_remove 508 +#define SYS_MAXSYSCALL 509 diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk index 0833600..ce440a1 100644 --- a/sys/sys/syscall.mk +++ b/sys/sys/syscall.mk @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. # $FreeBSD$ -# created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed +# created from FreeBSD: head/sys/kern/syscalls.master 191673 2009-04-29 21:14:15Z jamie MIASM = \ syscall.o \ exit.o \ @@ -369,4 +369,7 @@ MIASM = \ symlinkat.o \ unlinkat.o \ posix_openpt.o \ - gssd_syscall.o + gssd_syscall.o \ + jail_get.o \ + jail_set.o \ + jail_remove.o diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h index de79c95..7e9d523 100644 --- a/sys/sys/sysproto.h +++ b/sys/sys/sysproto.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 184789 2008-11-09 10:45:13Z ed + * created from FreeBSD: head/sys/kern/syscalls.master 191673 2009-04-29 21:14:15Z jamie */ #ifndef _SYS_SYSPROTO_H_ @@ -1625,6 +1625,19 @@ struct posix_openpt_args { struct gssd_syscall_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; }; +struct jail_get_args { + char iovp_l_[PADL_(struct iovec *)]; struct iovec * iovp; char iovp_r_[PADR_(struct iovec *)]; + char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; +}; +struct jail_set_args { + char iovp_l_[PADL_(struct iovec *)]; struct iovec * iovp; char iovp_r_[PADR_(struct iovec *)]; + char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; +}; +struct jail_remove_args { + char jid_l_[PADL_(int)]; int jid; char jid_r_[PADR_(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 +1992,9 @@ int symlinkat(struct thread *, struct symlinkat_args *); 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 jail_get(struct thread *, struct jail_get_args *); +int jail_set(struct thread *, struct jail_set_args *); +int jail_remove(struct thread *, struct jail_remove_args *); #ifdef COMPAT_43 @@ -2572,6 +2588,9 @@ int freebsd4_sigreturn(struct thread *, struct freebsd4_sigreturn_args *); #define SYS_AUE_unlinkat AUE_UNLINKAT #define SYS_AUE_posix_openpt AUE_POSIX_OPENPT #define SYS_AUE_gssd_syscall AUE_NULL +#define SYS_AUE_jail_get AUE_NULL +#define SYS_AUE_jail_set AUE_NULL +#define SYS_AUE_jail_remove AUE_NULL #undef PAD_ #undef PADL_ -- cgit v1.1