diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h index a6a39439f4ed..f21500f18c3d 100644 --- a/sys/compat/freebsd32/freebsd32_syscall.h +++ b/sys/compat/freebsd32/freebsd32_syscall.h @@ -431,7 +431,7 @@ #define FREEBSD32_SYS_freebsd32_jail_get 506 #define FREEBSD32_SYS_freebsd32_jail_set 507 #define FREEBSD32_SYS_jail_remove 508 -#define FREEBSD32_SYS_closefrom 509 +#define FREEBSD32_SYS_freebsd12_closefrom 509 #define FREEBSD32_SYS_freebsd32_semctl 510 #define FREEBSD32_SYS_freebsd32_msgctl 511 #define FREEBSD32_SYS_freebsd32_shmctl 512 diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c index 48784049ea15..e431161e4a24 100644 --- a/sys/compat/freebsd32/freebsd32_syscalls.c +++ b/sys/compat/freebsd32/freebsd32_syscalls.c @@ -531,7 +531,7 @@ const char *freebsd32_syscallnames[] = { "freebsd32_jail_get", /* 506 = freebsd32_jail_get */ "freebsd32_jail_set", /* 507 = freebsd32_jail_set */ "jail_remove", /* 508 = jail_remove */ - "closefrom", /* 509 = closefrom */ + "compat12.closefrom", /* 509 = freebsd12 closefrom */ "freebsd32_semctl", /* 510 = freebsd32_semctl */ "freebsd32_msgctl", /* 511 = freebsd32_msgctl */ "freebsd32_shmctl", /* 512 = freebsd32_shmctl */ diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c index 0748936c5df2..6fdbec77f2c6 100644 --- a/sys/compat/freebsd32/freebsd32_sysent.c +++ b/sys/compat/freebsd32/freebsd32_sysent.c @@ -584,7 +584,7 @@ struct sysent freebsd32_sysent[] = { { AS(freebsd32_jail_get_args), (sy_call_t *)freebsd32_jail_get, AUE_JAIL_GET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 506 = freebsd32_jail_get */ { AS(freebsd32_jail_set_args), (sy_call_t *)freebsd32_jail_set, AUE_JAIL_SET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 507 = freebsd32_jail_set */ { AS(jail_remove_args), (sy_call_t *)sys_jail_remove, AUE_JAIL_REMOVE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 508 = jail_remove */ - { AS(closefrom_args), (sy_call_t *)sys_closefrom, AUE_CLOSEFROM, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 509 = closefrom */ + { compat12(AS(freebsd12_closefrom_args),closefrom), AUE_CLOSEFROM, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 509 = freebsd12 closefrom */ { AS(freebsd32_semctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 510 = freebsd32_semctl */ { AS(freebsd32_msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 511 = freebsd32_msgctl */ { AS(freebsd32_shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 512 = freebsd32_shmctl */ diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c index 47ed635e2096..3e892f15d423 100644 --- a/sys/compat/freebsd32/freebsd32_systrace_args.c +++ b/sys/compat/freebsd32/freebsd32_systrace_args.c @@ -2722,13 +2722,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) *n_args = 1; break; } - /* closefrom */ - case 509: { - struct closefrom_args *p = params; - iarg[0] = p->lowfd; /* int */ - *n_args = 1; - break; - } /* freebsd32_semctl */ case 510: { struct freebsd32_semctl_args *p = params; @@ -7904,16 +7897,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; - /* closefrom */ - case 509: - switch(ndx) { - case 0: - p = "int"; - break; - default: - break; - }; - break; /* freebsd32_semctl */ case 510: switch(ndx) { @@ -10678,11 +10661,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; - /* closefrom */ - case 509: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* freebsd32_semctl */ case 510: if (ndx == 0 || ndx == 1) diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c index 9d621018c034..6d099219cb1c 100644 --- a/sys/kern/init_sysent.c +++ b/sys/kern/init_sysent.c @@ -564,7 +564,7 @@ struct sysent sysent[] = { { AS(jail_get_args), (sy_call_t *)sys_jail_get, AUE_JAIL_GET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 506 = jail_get */ { AS(jail_set_args), (sy_call_t *)sys_jail_set, AUE_JAIL_SET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 507 = jail_set */ { AS(jail_remove_args), (sy_call_t *)sys_jail_remove, AUE_JAIL_REMOVE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 508 = jail_remove */ - { AS(closefrom_args), (sy_call_t *)sys_closefrom, AUE_CLOSEFROM, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 509 = closefrom */ + { compat12(AS(freebsd12_closefrom_args),closefrom), AUE_CLOSEFROM, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 509 = freebsd12 closefrom */ { AS(__semctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 510 = __semctl */ { AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 511 = msgctl */ { AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 512 = shmctl */ diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c index c7b7b0e3a27e..04b7c89b17ce 100644 --- a/sys/kern/syscalls.c +++ b/sys/kern/syscalls.c @@ -515,7 +515,7 @@ const char *syscallnames[] = { "jail_get", /* 506 = jail_get */ "jail_set", /* 507 = jail_set */ "jail_remove", /* 508 = jail_remove */ - "closefrom", /* 509 = closefrom */ + "compat12.closefrom", /* 509 = freebsd12 closefrom */ "__semctl", /* 510 = __semctl */ "msgctl", /* 511 = msgctl */ "shmctl", /* 512 = shmctl */ diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c index 5f1a4cd0cadd..38e2f47d6ebe 100644 --- a/sys/kern/systrace_args.c +++ b/sys/kern/systrace_args.c @@ -2795,13 +2795,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) *n_args = 1; break; } - /* closefrom */ - case 509: { - struct closefrom_args *p = params; - iarg[0] = p->lowfd; /* int */ - *n_args = 1; - break; - } /* __semctl */ case 510: { struct __semctl_args *p = params; @@ -7979,16 +7972,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; - /* closefrom */ - case 509: - switch(ndx) { - case 0: - p = "int"; - break; - default: - break; - }; - break; /* __semctl */ case 510: switch(ndx) { @@ -10644,11 +10627,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; - /* closefrom */ - case 509: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* __semctl */ case 510: if (ndx == 0 || ndx == 1) diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h index c309fd025e09..fbeb803bded1 100644 --- a/sys/sys/syscall.h +++ b/sys/sys/syscall.h @@ -445,7 +445,7 @@ #define SYS_jail_get 506 #define SYS_jail_set 507 #define SYS_jail_remove 508 -#define SYS_closefrom 509 +#define SYS_freebsd12_closefrom 509 #define SYS___semctl 510 #define SYS_msgctl 511 #define SYS_shmctl 512 diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk index a2ad81f3f298..7b6d08b9c1e5 100644 --- a/sys/sys/syscall.mk +++ b/sys/sys/syscall.mk @@ -354,7 +354,7 @@ MIASM = \ jail_get.o \ jail_set.o \ jail_remove.o \ - closefrom.o \ + freebsd12_closefrom.o \ __semctl.o \ msgctl.o \ shmctl.o \ diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h index 1a0b99c3e4a3..0d70e542f6d7 100644 --- a/sys/sys/sysproto.h +++ b/sys/sys/sysproto.h @@ -1505,9 +1505,6 @@ struct jail_set_args { struct jail_remove_args { char jid_l_[PADL_(int)]; int jid; char jid_r_[PADR_(int)]; }; -struct closefrom_args { - char lowfd_l_[PADL_(int)]; int lowfd; char lowfd_r_[PADR_(int)]; -}; struct __semctl_args { char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)]; char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)]; @@ -2163,7 +2160,6 @@ int sys_gssd_syscall(struct thread *, struct gssd_syscall_args *); int sys_jail_get(struct thread *, struct jail_get_args *); int sys_jail_set(struct thread *, struct jail_set_args *); int sys_jail_remove(struct thread *, struct jail_remove_args *); -int sys_closefrom(struct thread *, struct closefrom_args *); int sys___semctl(struct thread *, struct __semctl_args *); int sys_msgctl(struct thread *, struct msgctl_args *); int sys_shmctl(struct thread *, struct shmctl_args *); @@ -2678,7 +2674,11 @@ struct freebsd12_shm_open_args { char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)]; }; +struct freebsd12_closefrom_args { + char lowfd_l_[PADL_(int)]; int lowfd; char lowfd_r_[PADR_(int)]; +}; int freebsd12_shm_open(struct thread *, struct freebsd12_shm_open_args *); +int freebsd12_closefrom(struct thread *, struct freebsd12_closefrom_args *); #endif /* COMPAT_FREEBSD12 */ @@ -3089,7 +3089,7 @@ int freebsd12_shm_open(struct thread *, struct freebsd12_shm_open_args *); #define SYS_AUE_jail_get AUE_JAIL_GET #define SYS_AUE_jail_set AUE_JAIL_SET #define SYS_AUE_jail_remove AUE_JAIL_REMOVE -#define SYS_AUE_closefrom AUE_CLOSEFROM +#define SYS_AUE_freebsd12_closefrom AUE_CLOSEFROM #define SYS_AUE___semctl AUE_SEMCTL #define SYS_AUE_msgctl AUE_MSGCTL #define SYS_AUE_shmctl AUE_SHMCTL