Regen syscall tables after pdfork(2) and pdwait(2) additions
This commit is contained in:
@@ -472,6 +472,8 @@ typedef int (__sys_setgroups_t)(int, const gid_t *);
|
||||
typedef int (__sys_jail_attach_jd_t)(int);
|
||||
typedef int (__sys_jail_remove_jd_t)(int);
|
||||
typedef int (__sys_kexec_load_t)(uint64_t, u_long, struct kexec_segment *, u_long);
|
||||
typedef int (__sys_pdrfork_t)(int *, int, int);
|
||||
typedef int (__sys_pdwait_t)(int, int *, int, struct __wrusage *, struct __siginfo *);
|
||||
|
||||
_Noreturn void __sys__exit(int rval);
|
||||
int __sys_fork(void);
|
||||
@@ -879,6 +881,8 @@ int __sys_setgroups(int gidsetsize, const gid_t * gidset);
|
||||
int __sys_jail_attach_jd(int fd);
|
||||
int __sys_jail_remove_jd(int fd);
|
||||
int __sys_kexec_load(uint64_t entry, u_long nseg, struct kexec_segment * segments, u_long flags);
|
||||
int __sys_pdrfork(int * fdp, int pdflags, int rfflags);
|
||||
int __sys_pdwait(int fd, int * status, int options, struct __wrusage * wrusage, struct __siginfo * info);
|
||||
__END_DECLS
|
||||
|
||||
#endif /* __LIBSYS_H_ */
|
||||
|
||||
@@ -819,4 +819,8 @@ FBSDprivate_1.0 {
|
||||
__sys_jail_remove_jd;
|
||||
_kexec_load;
|
||||
__sys_kexec_load;
|
||||
_pdrfork;
|
||||
__sys_pdrfork;
|
||||
_pdwait;
|
||||
__sys_pdwait;
|
||||
};
|
||||
|
||||
@@ -699,6 +699,13 @@ struct freebsd32_setcred_args {
|
||||
char wcred_l_[PADL_(const struct setcred32 *)]; const struct setcred32 * wcred; char wcred_r_[PADR_(const struct setcred32 *)];
|
||||
char size_l_[PADL_(size_t)]; size_t size; char size_r_[PADR_(size_t)];
|
||||
};
|
||||
struct freebsd32_pdwait_args {
|
||||
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
|
||||
char status_l_[PADL_(int *)]; int * status; char status_r_[PADR_(int *)];
|
||||
char options_l_[PADL_(int)]; int options; char options_r_[PADR_(int)];
|
||||
char wrusage_l_[PADL_(struct __wrusage32 *)]; struct __wrusage32 * wrusage; char wrusage_r_[PADR_(struct __wrusage32 *)];
|
||||
char info_l_[PADL_(struct __siginfo32 *)]; struct __siginfo32 * info; char info_r_[PADR_(struct __siginfo32 *)];
|
||||
};
|
||||
int freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *);
|
||||
int freebsd32_ptrace(struct thread *, struct freebsd32_ptrace_args *);
|
||||
int freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *);
|
||||
@@ -817,6 +824,7 @@ int freebsd32_aio_readv(struct thread *, struct freebsd32_aio_readv_args *);
|
||||
int freebsd32_timerfd_gettime(struct thread *, struct freebsd32_timerfd_gettime_args *);
|
||||
int freebsd32_timerfd_settime(struct thread *, struct freebsd32_timerfd_settime_args *);
|
||||
int freebsd32_setcred(struct thread *, struct freebsd32_setcred_args *);
|
||||
int freebsd32_pdwait(struct thread *, struct freebsd32_pdwait_args *);
|
||||
|
||||
#ifdef COMPAT_43
|
||||
|
||||
@@ -1319,6 +1327,7 @@ int freebsd11_freebsd32_fstatat(struct thread *, struct freebsd11_freebsd32_fsta
|
||||
#define FREEBSD32_SYS_AUE_freebsd32_timerfd_gettime AUE_TIMERFD
|
||||
#define FREEBSD32_SYS_AUE_freebsd32_timerfd_settime AUE_TIMERFD
|
||||
#define FREEBSD32_SYS_AUE_freebsd32_setcred AUE_SETCRED
|
||||
#define FREEBSD32_SYS_AUE_freebsd32_pdwait AUE_PDWAIT
|
||||
|
||||
#undef PAD_
|
||||
#undef PADL_
|
||||
|
||||
@@ -517,4 +517,6 @@
|
||||
#define FREEBSD32_SYS_setgroups 596
|
||||
#define FREEBSD32_SYS_jail_attach_jd 597
|
||||
#define FREEBSD32_SYS_jail_remove_jd 598
|
||||
#define FREEBSD32_SYS_MAXSYSCALL 600
|
||||
#define FREEBSD32_SYS_pdrfork 600
|
||||
#define FREEBSD32_SYS_freebsd32_pdwait 601
|
||||
#define FREEBSD32_SYS_MAXSYSCALL 602
|
||||
|
||||
@@ -605,4 +605,6 @@ const char *freebsd32_syscallnames[] = {
|
||||
"jail_attach_jd", /* 597 = jail_attach_jd */
|
||||
"jail_remove_jd", /* 598 = jail_remove_jd */
|
||||
"#599", /* 599 = kexec_load */
|
||||
"pdrfork", /* 600 = pdrfork */
|
||||
"freebsd32_pdwait", /* 601 = freebsd32_pdwait */
|
||||
};
|
||||
|
||||
@@ -667,4 +667,6 @@ struct sysent freebsd32_sysent[] = {
|
||||
{ .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */
|
||||
{ .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */
|
||||
{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 599 = freebsd32_kexec_load */
|
||||
{ .sy_narg = AS(pdrfork_args), .sy_call = (sy_call_t *)sys_pdrfork, .sy_auevent = AUE_PDRFORK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 600 = pdrfork */
|
||||
{ .sy_narg = AS(freebsd32_pdwait_args), .sy_call = (sy_call_t *)freebsd32_pdwait, .sy_auevent = AUE_PDWAIT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 601 = freebsd32_pdwait */
|
||||
};
|
||||
|
||||
@@ -3427,6 +3427,26 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
*n_args = 1;
|
||||
break;
|
||||
}
|
||||
/* pdrfork */
|
||||
case 600: {
|
||||
struct pdrfork_args *p = params;
|
||||
uarg[a++] = (intptr_t)p->fdp; /* int * */
|
||||
iarg[a++] = p->pdflags; /* int */
|
||||
iarg[a++] = p->rfflags; /* int */
|
||||
*n_args = 3;
|
||||
break;
|
||||
}
|
||||
/* freebsd32_pdwait */
|
||||
case 601: {
|
||||
struct freebsd32_pdwait_args *p = params;
|
||||
iarg[a++] = p->fd; /* int */
|
||||
uarg[a++] = (intptr_t)p->status; /* int * */
|
||||
iarg[a++] = p->options; /* int */
|
||||
uarg[a++] = (intptr_t)p->wrusage; /* struct __wrusage32 * */
|
||||
uarg[a++] = (intptr_t)p->info; /* struct __siginfo32 * */
|
||||
*n_args = 5;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
*n_args = 0;
|
||||
break;
|
||||
@@ -9256,6 +9276,44 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* pdrfork */
|
||||
case 600:
|
||||
switch (ndx) {
|
||||
case 0:
|
||||
p = "userland int *";
|
||||
break;
|
||||
case 1:
|
||||
p = "int";
|
||||
break;
|
||||
case 2:
|
||||
p = "int";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* freebsd32_pdwait */
|
||||
case 601:
|
||||
switch (ndx) {
|
||||
case 0:
|
||||
p = "int";
|
||||
break;
|
||||
case 1:
|
||||
p = "userland int *";
|
||||
break;
|
||||
case 2:
|
||||
p = "int";
|
||||
break;
|
||||
case 3:
|
||||
p = "userland struct __wrusage32 *";
|
||||
break;
|
||||
case 4:
|
||||
p = "userland struct __siginfo32 *";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
@@ -11174,6 +11232,16 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "int";
|
||||
break;
|
||||
/* pdrfork */
|
||||
case 600:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "int";
|
||||
break;
|
||||
/* freebsd32_pdwait */
|
||||
case 601:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "int";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
@@ -666,4 +666,6 @@ struct sysent sysent[] = {
|
||||
{ .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */
|
||||
{ .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */
|
||||
{ .sy_narg = AS(kexec_load_args), .sy_call = (sy_call_t *)sys_kexec_load, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 599 = kexec_load */
|
||||
{ .sy_narg = AS(pdrfork_args), .sy_call = (sy_call_t *)sys_pdrfork, .sy_auevent = AUE_PDRFORK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 600 = pdrfork */
|
||||
{ .sy_narg = AS(pdwait_args), .sy_call = (sy_call_t *)sys_pdwait, .sy_auevent = AUE_PDWAIT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 601 = pdwait */
|
||||
};
|
||||
|
||||
@@ -605,4 +605,6 @@ const char *syscallnames[] = {
|
||||
"jail_attach_jd", /* 597 = jail_attach_jd */
|
||||
"jail_remove_jd", /* 598 = jail_remove_jd */
|
||||
"kexec_load", /* 599 = kexec_load */
|
||||
"pdrfork", /* 600 = pdrfork */
|
||||
"pdwait", /* 601 = pdwait */
|
||||
};
|
||||
|
||||
@@ -3524,6 +3524,26 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
*n_args = 4;
|
||||
break;
|
||||
}
|
||||
/* pdrfork */
|
||||
case 600: {
|
||||
struct pdrfork_args *p = params;
|
||||
uarg[a++] = (intptr_t)p->fdp; /* int * */
|
||||
iarg[a++] = p->pdflags; /* int */
|
||||
iarg[a++] = p->rfflags; /* int */
|
||||
*n_args = 3;
|
||||
break;
|
||||
}
|
||||
/* pdwait */
|
||||
case 601: {
|
||||
struct pdwait_args *p = params;
|
||||
iarg[a++] = p->fd; /* int */
|
||||
uarg[a++] = (intptr_t)p->status; /* int * */
|
||||
iarg[a++] = p->options; /* int */
|
||||
uarg[a++] = (intptr_t)p->wrusage; /* struct __wrusage * */
|
||||
uarg[a++] = (intptr_t)p->info; /* struct __siginfo * */
|
||||
*n_args = 5;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
*n_args = 0;
|
||||
break;
|
||||
@@ -9430,6 +9450,44 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* pdrfork */
|
||||
case 600:
|
||||
switch (ndx) {
|
||||
case 0:
|
||||
p = "userland int *";
|
||||
break;
|
||||
case 1:
|
||||
p = "int";
|
||||
break;
|
||||
case 2:
|
||||
p = "int";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* pdwait */
|
||||
case 601:
|
||||
switch (ndx) {
|
||||
case 0:
|
||||
p = "int";
|
||||
break;
|
||||
case 1:
|
||||
p = "userland int *";
|
||||
break;
|
||||
case 2:
|
||||
p = "int";
|
||||
break;
|
||||
case 3:
|
||||
p = "userland struct __wrusage *";
|
||||
break;
|
||||
case 4:
|
||||
p = "userland struct __siginfo *";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
@@ -11443,6 +11501,16 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "int";
|
||||
break;
|
||||
/* pdrfork */
|
||||
case 600:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "int";
|
||||
break;
|
||||
/* pdwait */
|
||||
case 601:
|
||||
if (ndx == 0 || ndx == 1)
|
||||
p = "int";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
+3
-1
@@ -538,4 +538,6 @@
|
||||
#define SYS_jail_attach_jd 597
|
||||
#define SYS_jail_remove_jd 598
|
||||
#define SYS_kexec_load 599
|
||||
#define SYS_MAXSYSCALL 600
|
||||
#define SYS_pdrfork 600
|
||||
#define SYS_pdwait 601
|
||||
#define SYS_MAXSYSCALL 602
|
||||
|
||||
+3
-1
@@ -441,4 +441,6 @@ MIASM = \
|
||||
setgroups.o \
|
||||
jail_attach_jd.o \
|
||||
jail_remove_jd.o \
|
||||
kexec_load.o
|
||||
kexec_load.o \
|
||||
pdrfork.o \
|
||||
pdwait.o
|
||||
|
||||
@@ -1913,6 +1913,18 @@ struct kexec_load_args {
|
||||
char segments_l_[PADL_(struct kexec_segment *)]; struct kexec_segment * segments; char segments_r_[PADR_(struct kexec_segment *)];
|
||||
char flags_l_[PADL_(u_long)]; u_long flags; char flags_r_[PADR_(u_long)];
|
||||
};
|
||||
struct pdrfork_args {
|
||||
char fdp_l_[PADL_(int *)]; int * fdp; char fdp_r_[PADR_(int *)];
|
||||
char pdflags_l_[PADL_(int)]; int pdflags; char pdflags_r_[PADR_(int)];
|
||||
char rfflags_l_[PADL_(int)]; int rfflags; char rfflags_r_[PADR_(int)];
|
||||
};
|
||||
struct pdwait_args {
|
||||
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
|
||||
char status_l_[PADL_(int *)]; int * status; char status_r_[PADR_(int *)];
|
||||
char options_l_[PADL_(int)]; int options; char options_r_[PADR_(int)];
|
||||
char wrusage_l_[PADL_(struct __wrusage *)]; struct __wrusage * wrusage; char wrusage_r_[PADR_(struct __wrusage *)];
|
||||
char info_l_[PADL_(struct __siginfo *)]; struct __siginfo * info; char info_r_[PADR_(struct __siginfo *)];
|
||||
};
|
||||
int sys__exit(struct thread *, struct _exit_args *);
|
||||
int sys_fork(struct thread *, struct fork_args *);
|
||||
int sys_read(struct thread *, struct read_args *);
|
||||
@@ -2320,6 +2332,8 @@ int sys_setgroups(struct thread *, struct setgroups_args *);
|
||||
int sys_jail_attach_jd(struct thread *, struct jail_attach_jd_args *);
|
||||
int sys_jail_remove_jd(struct thread *, struct jail_remove_jd_args *);
|
||||
int sys_kexec_load(struct thread *, struct kexec_load_args *);
|
||||
int sys_pdrfork(struct thread *, struct pdrfork_args *);
|
||||
int sys_pdwait(struct thread *, struct pdwait_args *);
|
||||
|
||||
#ifdef COMPAT_43
|
||||
|
||||
@@ -3319,6 +3333,8 @@ int freebsd14_setgroups(struct thread *, struct freebsd14_setgroups_args *);
|
||||
#define SYS_AUE_jail_attach_jd AUE_JAIL_ATTACH
|
||||
#define SYS_AUE_jail_remove_jd AUE_JAIL_REMOVE
|
||||
#define SYS_AUE_kexec_load AUE_NULL
|
||||
#define SYS_AUE_pdrfork AUE_PDRFORK
|
||||
#define SYS_AUE_pdwait AUE_PDWAIT
|
||||
|
||||
#undef PAD_
|
||||
#undef PADL_
|
||||
|
||||
Reference in New Issue
Block a user