Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Nov 2021 20:22:32 GMT
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: ad5826670451 - main - freebsd32: remove redundant no-arg syscalls
Message-ID:  <202111172022.1AHKMWPP059864@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by brooks:

URL: https://cgit.FreeBSD.org/src/commit/?id=ad58266704513b89140501ade9e48793a67cc1f1

commit ad58266704513b89140501ade9e48793a67cc1f1
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2021-11-17 20:12:24 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2021-11-17 20:12:24 +0000

    freebsd32: remove redundant no-arg syscalls
    
    pipe requires no special handling.
    
    ofreebsd32_sigpending did differ from osigpending in that it acted
    on the siglist rather than the sigqueue, but this appears to be an
    oversight in 3fbdb3c21524d9d95278ada1d61b4d1e6bee654b.
    
    ogetpagesize could theoretically have ABI-dependent results, but in
    practice does not. If it does it would be easy handle in the central
    implementation and be the least of the problems in changing the value of
    PAGE_SIZE.
    
    Reviewed by:    kevans
---
 sys/amd64/ia32/ia32_misc.c                | 11 -----------
 sys/arm64/arm64/freebsd32_machdep.c       | 14 --------------
 sys/compat/freebsd32/freebsd32_misc.c     | 23 -----------------------
 sys/compat/freebsd32/freebsd32_proto.h    | 15 ---------------
 sys/compat/freebsd32/freebsd32_syscall.h  |  6 +++---
 sys/compat/freebsd32/freebsd32_syscalls.c |  6 +++---
 sys/compat/freebsd32/freebsd32_sysent.c   |  6 +++---
 sys/compat/freebsd32/syscalls.master      |  7 +++----
 8 files changed, 12 insertions(+), 76 deletions(-)

diff --git a/sys/amd64/ia32/ia32_misc.c b/sys/amd64/ia32/ia32_misc.c
index 6307ede32047..153b54b51a76 100644
--- a/sys/amd64/ia32/ia32_misc.c
+++ b/sys/amd64/ia32/ia32_misc.c
@@ -69,14 +69,3 @@ freebsd32_sysarch(struct thread *td, struct freebsd32_sysarch_args *uap)
 		return (sysarch(td, &uap1));
 	}
 }
-
-#ifdef COMPAT_43
-int
-ofreebsd32_getpagesize(struct thread *td,
-    struct ofreebsd32_getpagesize_args *uap)
-{
-
-	td->td_retval[0] = IA32_PAGE_SIZE;
-	return (0);
-}
-#endif
diff --git a/sys/arm64/arm64/freebsd32_machdep.c b/sys/arm64/arm64/freebsd32_machdep.c
index b1e070feb4f6..cab778747113 100644
--- a/sys/arm64/arm64/freebsd32_machdep.c
+++ b/sys/arm64/arm64/freebsd32_machdep.c
@@ -411,20 +411,6 @@ freebsd32_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
 }
 
 #ifdef COMPAT_43
-/*
- * COMPAT_FREEBSD32 assumes we have this system call when COMPAT_43 is defined.
- * FreeBSD/arm provies a similar getpagesize() syscall.
- */
-#define ARM32_PAGE_SIZE 4096
-int
-ofreebsd32_getpagesize(struct thread *td,
-    struct ofreebsd32_getpagesize_args *uap)
-{
-
-	td->td_retval[0] = ARM32_PAGE_SIZE;
-	return (0);
-}
-
 /*
  * Mirror the osigreturn definition in kern_sig.c for !i386 platforms. This
  * mirrors what's connected to the FreeBSD/arm syscall.
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index aed78f93c334..a0a7f1936fc9 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -320,14 +320,6 @@ freebsd4_freebsd32_getfsstat(struct thread *td,
 }
 #endif
 
-#ifdef COMPAT_FREEBSD10
-int
-freebsd10_freebsd32_pipe(struct thread *td,
-    struct freebsd10_freebsd32_pipe_args *uap) {
-	return (freebsd10_pipe(td, (struct freebsd10_pipe_args*)uap));
-}
-#endif
-
 int
 freebsd32_sigaltstack(struct thread *td,
 		      struct freebsd32_sigaltstack_args *uap)
@@ -2740,21 +2732,6 @@ ofreebsd32_sigprocmask(struct thread *td,
 	return (error);
 }
 
-int
-ofreebsd32_sigpending(struct thread *td,
-			      struct ofreebsd32_sigpending_args *uap)
-{
-	struct proc *p = td->td_proc;
-	sigset_t siglist;
-
-	PROC_LOCK(p);
-	siglist = p->p_siglist;
-	SIGSETOR(siglist, td->td_siglist);
-	PROC_UNLOCK(p);
-	SIG2OSIG(siglist, td->td_retval[0]);
-	return (0);
-}
-
 struct sigvec32 {
 	u_int32_t	sv_handler;
 	int		sv_mask;
diff --git a/sys/compat/freebsd32/freebsd32_proto.h b/sys/compat/freebsd32/freebsd32_proto.h
index ea3a9cae46e2..02a199acf1df 100644
--- a/sys/compat/freebsd32/freebsd32_proto.h
+++ b/sys/compat/freebsd32/freebsd32_proto.h
@@ -67,12 +67,6 @@ struct freebsd32_recvfrom_args {
 	char from_l_[PADL_(struct sockaddr *)]; struct sockaddr * from; char from_r_[PADR_(struct sockaddr *)];
 	char fromlenaddr_l_[PADL_(uint32_t)]; uint32_t fromlenaddr; char fromlenaddr_r_[PADR_(uint32_t)];
 };
-struct freebsd10_freebsd32_pipe_args {
-	register_t dummy;
-};
-struct ofreebsd32_sigpending_args {
-	register_t dummy;
-};
 struct freebsd32_sigaltstack_args {
 	char ss_l_[PADL_(const struct sigaltstack32 *)]; const struct sigaltstack32 * ss; char ss_r_[PADR_(const struct sigaltstack32 *)];
 	char oss_l_[PADL_(struct sigaltstack32 *)]; struct sigaltstack32 * oss; char oss_r_[PADR_(struct sigaltstack32 *)];
@@ -933,9 +927,6 @@ struct ofreebsd32_fstat_args {
 	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
 	char sb_l_[PADL_(struct ostat32 *)]; struct ostat32 * sb; char sb_r_[PADR_(struct ostat32 *)];
 };
-struct ofreebsd32_getpagesize_args {
-	char dummy_l_[PADL_(int32_t)]; int32_t dummy; char dummy_r_[PADR_(int32_t)];
-};
 struct ofreebsd32_mmap_args {
 	char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)];
 	char len_l_[PADL_(int)]; int len; char len_r_[PADR_(int)];
@@ -991,9 +982,7 @@ int	ofreebsd32_stat(struct thread *, struct ofreebsd32_stat_args *);
 int	ofreebsd32_lstat(struct thread *, struct ofreebsd32_lstat_args *);
 int	ofreebsd32_sigaction(struct thread *, struct ofreebsd32_sigaction_args *);
 int	ofreebsd32_sigprocmask(struct thread *, struct ofreebsd32_sigprocmask_args *);
-int	ofreebsd32_sigpending(struct thread *, struct ofreebsd32_sigpending_args *);
 int	ofreebsd32_fstat(struct thread *, struct ofreebsd32_fstat_args *);
-int	ofreebsd32_getpagesize(struct thread *, struct ofreebsd32_getpagesize_args *);
 int	ofreebsd32_mmap(struct thread *, struct ofreebsd32_mmap_args *);
 int	ofreebsd32_sigreturn(struct thread *, struct ofreebsd32_sigreturn_args *);
 int	ofreebsd32_sigvec(struct thread *, struct ofreebsd32_sigvec_args *);
@@ -1231,7 +1220,6 @@ struct freebsd10_freebsd32_umtx_unlock_args {
 #ifdef PAD64_REQUIRED
 #else
 #endif
-int	freebsd10_freebsd32_pipe(struct thread *, struct freebsd10_freebsd32_pipe_args *);
 int	freebsd10_freebsd32_umtx_lock(struct thread *, struct freebsd10_freebsd32_umtx_lock_args *);
 int	freebsd10_freebsd32_umtx_unlock(struct thread *, struct freebsd10_freebsd32_umtx_unlock_args *);
 
@@ -1343,15 +1331,12 @@ int	freebsd11_freebsd32_fstatat(struct thread *, struct freebsd11_freebsd32_fsta
 #define	FREEBSD32_SYS_AUE_freebsd32_recvfrom	AUE_RECVFROM
 #define	FREEBSD32_SYS_AUE_ofreebsd32_stat	AUE_STAT
 #define	FREEBSD32_SYS_AUE_ofreebsd32_lstat	AUE_LSTAT
-#define	FREEBSD32_SYS_AUE_freebsd10_freebsd32_pipe	AUE_PIPE
 #define	FREEBSD32_SYS_AUE_ofreebsd32_sigaction	AUE_SIGACTION
 #define	FREEBSD32_SYS_AUE_ofreebsd32_sigprocmask	AUE_SIGPROCMASK
-#define	FREEBSD32_SYS_AUE_ofreebsd32_sigpending	AUE_SIGPENDING
 #define	FREEBSD32_SYS_AUE_freebsd32_sigaltstack	AUE_SIGALTSTACK
 #define	FREEBSD32_SYS_AUE_freebsd32_ioctl	AUE_IOCTL
 #define	FREEBSD32_SYS_AUE_freebsd32_execve	AUE_EXECVE
 #define	FREEBSD32_SYS_AUE_ofreebsd32_fstat	AUE_FSTAT
-#define	FREEBSD32_SYS_AUE_ofreebsd32_getpagesize	AUE_NULL
 #define	FREEBSD32_SYS_AUE_ofreebsd32_mmap	AUE_MMAP
 #define	FREEBSD32_SYS_AUE_freebsd32_mprotect	AUE_MPROTECT
 #define	FREEBSD32_SYS_AUE_freebsd32_setitimer	AUE_SETITIMER
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 83c5d1f9d3a4..a52565f6803d 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -47,7 +47,7 @@
 #define	FREEBSD32_SYS_getppid	39
 				/* 40 is old freebsd32_lstat */
 #define	FREEBSD32_SYS_dup	41
-#define	FREEBSD32_SYS_freebsd10_freebsd32_pipe	42
+#define	FREEBSD32_SYS_freebsd10_pipe	42
 #define	FREEBSD32_SYS_getegid	43
 #define	FREEBSD32_SYS_profil	44
 #define	FREEBSD32_SYS_ktrace	45
@@ -57,7 +57,7 @@
 #define	FREEBSD32_SYS_getlogin	49
 #define	FREEBSD32_SYS_setlogin	50
 #define	FREEBSD32_SYS_acct	51
-				/* 52 is old freebsd32_sigpending */
+				/* 52 is old sigpending */
 #define	FREEBSD32_SYS_freebsd32_sigaltstack	53
 #define	FREEBSD32_SYS_freebsd32_ioctl	54
 #define	FREEBSD32_SYS_reboot	55
@@ -69,7 +69,7 @@
 #define	FREEBSD32_SYS_chroot	61
 				/* 62 is old freebsd32_fstat */
 				/* 63 is obsolete ogetkerninfo */
-				/* 64 is old freebsd32_getpagesize */
+				/* 64 is old getpagesize */
 #define	FREEBSD32_SYS_msync	65
 #define	FREEBSD32_SYS_vfork	66
 				/* 67 is obsolete vread */
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 9d9600b2b2e9..4a7fa66babb0 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -51,7 +51,7 @@ const char *freebsd32_syscallnames[] = {
 	"getppid",			/* 39 = getppid */
 	"compat.freebsd32_lstat",		/* 40 = old freebsd32_lstat */
 	"dup",			/* 41 = dup */
-	"compat10.freebsd32_pipe",		/* 42 = freebsd10 freebsd32_pipe */
+	"compat10.pipe",		/* 42 = freebsd10 pipe */
 	"getegid",			/* 43 = getegid */
 	"profil",			/* 44 = profil */
 	"ktrace",			/* 45 = ktrace */
@@ -61,7 +61,7 @@ const char *freebsd32_syscallnames[] = {
 	"getlogin",			/* 49 = getlogin */
 	"setlogin",			/* 50 = setlogin */
 	"acct",			/* 51 = acct */
-	"compat.freebsd32_sigpending",		/* 52 = old freebsd32_sigpending */
+	"compat.sigpending",		/* 52 = old sigpending */
 	"freebsd32_sigaltstack",			/* 53 = freebsd32_sigaltstack */
 	"freebsd32_ioctl",			/* 54 = freebsd32_ioctl */
 	"reboot",			/* 55 = reboot */
@@ -73,7 +73,7 @@ const char *freebsd32_syscallnames[] = {
 	"chroot",			/* 61 = chroot */
 	"compat.freebsd32_fstat",		/* 62 = old freebsd32_fstat */
 	"obs_ogetkerninfo",			/* 63 = obsolete ogetkerninfo */
-	"compat.freebsd32_getpagesize",		/* 64 = old freebsd32_getpagesize */
+	"compat.getpagesize",		/* 64 = old getpagesize */
 	"msync",			/* 65 = msync */
 	"vfork",			/* 66 = vfork */
 	"obs_vread",			/* 67 = obsolete vread */
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index 26bd67a88d74..1eff33290dbb 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -104,7 +104,7 @@ struct sysent freebsd32_sysent[] = {
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)sys_getppid, .sy_auevent = AUE_GETPPID, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 39 = getppid */
 	{ compat(AS(ofreebsd32_lstat_args),freebsd32_lstat), .sy_auevent = AUE_LSTAT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 40 = old freebsd32_lstat */
 	{ .sy_narg = AS(dup_args), .sy_call = (sy_call_t *)sys_dup, .sy_auevent = AUE_DUP, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 41 = dup */
-	{ compat10(0,freebsd32_pipe), .sy_auevent = AUE_PIPE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 42 = freebsd10 freebsd32_pipe */
+	{ compat10(0,pipe), .sy_auevent = AUE_PIPE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 42 = freebsd10 pipe */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)sys_getegid, .sy_auevent = AUE_GETEGID, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 43 = getegid */
 	{ .sy_narg = AS(profil_args), .sy_call = (sy_call_t *)sys_profil, .sy_auevent = AUE_PROFILE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 44 = profil */
 	{ .sy_narg = AS(ktrace_args), .sy_call = (sy_call_t *)sys_ktrace, .sy_auevent = AUE_KTRACE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 45 = ktrace */
@@ -114,7 +114,7 @@ struct sysent freebsd32_sysent[] = {
 	{ .sy_narg = AS(getlogin_args), .sy_call = (sy_call_t *)sys_getlogin, .sy_auevent = AUE_GETLOGIN, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 49 = getlogin */
 	{ .sy_narg = AS(setlogin_args), .sy_call = (sy_call_t *)sys_setlogin, .sy_auevent = AUE_SETLOGIN, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 50 = setlogin */
 	{ .sy_narg = AS(acct_args), .sy_call = (sy_call_t *)sys_acct, .sy_auevent = AUE_ACCT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 51 = acct */
-	{ compat(0,freebsd32_sigpending), .sy_auevent = AUE_SIGPENDING, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 52 = old freebsd32_sigpending */
+	{ compat(0,sigpending), .sy_auevent = AUE_SIGPENDING, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 52 = old sigpending */
 	{ .sy_narg = AS(freebsd32_sigaltstack_args), .sy_call = (sy_call_t *)freebsd32_sigaltstack, .sy_auevent = AUE_SIGALTSTACK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 53 = freebsd32_sigaltstack */
 	{ .sy_narg = AS(freebsd32_ioctl_args), .sy_call = (sy_call_t *)freebsd32_ioctl, .sy_auevent = AUE_IOCTL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 54 = freebsd32_ioctl */
 	{ .sy_narg = AS(reboot_args), .sy_call = (sy_call_t *)sys_reboot, .sy_auevent = AUE_REBOOT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 55 = reboot */
@@ -126,7 +126,7 @@ struct sysent freebsd32_sysent[] = {
 	{ .sy_narg = AS(chroot_args), .sy_call = (sy_call_t *)sys_chroot, .sy_auevent = AUE_CHROOT, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 61 = chroot */
 	{ compat(AS(ofreebsd32_fstat_args),freebsd32_fstat), .sy_auevent = AUE_FSTAT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 62 = old freebsd32_fstat */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT },			/* 63 = obsolete ogetkerninfo */
-	{ compat(AS(ofreebsd32_getpagesize_args),freebsd32_getpagesize), .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 64 = old freebsd32_getpagesize */
+	{ compat(0,getpagesize), .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 64 = old getpagesize */
 	{ .sy_narg = AS(msync_args), .sy_call = (sy_call_t *)sys_msync, .sy_auevent = AUE_MSYNC, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 65 = msync */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)sys_vfork, .sy_auevent = AUE_VFORK, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 66 = vfork */
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT },			/* 67 = obsolete vread */
diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master
index 46438927043b..88aad1d180a5 100644
--- a/sys/compat/freebsd32/syscalls.master
+++ b/sys/compat/freebsd32/syscalls.master
@@ -132,7 +132,7 @@
 40	AUE_LSTAT	COMPAT	{ int freebsd32_lstat(const char *path, \
 				    struct ostat32 *ub); }
 41	AUE_DUP		NOPROTO	{ int dup(u_int fd); }
-42	AUE_PIPE	COMPAT10	{ int freebsd32_pipe(void); }
+42	AUE_PIPE	COMPAT10|NOPROTO	{ int pipe(void); }
 43	AUE_GETEGID	NOPROTO	{ gid_t getegid(void); }
 44	AUE_PROFILE	NOPROTO	{ int profil(char *samples, size_t size, \
 				    size_t offset, u_int scale); }
@@ -148,7 +148,7 @@
 				    u_int namelen); }
 50	AUE_SETLOGIN	NOPROTO	{ int setlogin(const char *namebuf); }
 51	AUE_ACCT	NOPROTO	{ int acct(const char *path); }
-52	AUE_SIGPENDING	COMPAT	{ int freebsd32_sigpending(void); }
+52	AUE_SIGPENDING	COMPAT|NOPROTO	{ int sigpending(void); }
 53	AUE_SIGALTSTACK	STD	{ int freebsd32_sigaltstack( \
 				    const struct sigaltstack32 *ss, \
 				    struct sigaltstack32 *oss); }
@@ -167,8 +167,7 @@
 62	AUE_FSTAT	COMPAT	{ int freebsd32_fstat(int fd, \
 				    struct ostat32 *sb); }
 63	AUE_NULL	OBSOL	ogetkerninfo
-64	AUE_NULL	COMPAT	{ int freebsd32_getpagesize( \
-				    int32_t dummy); }
+64	AUE_NULL	COMPAT|NOPROTO	{ int getpagesize(void); }
 65	AUE_MSYNC	NOPROTO	{ int msync(void *addr, size_t len, \
 				    int flags); }
 66	AUE_VFORK	NOPROTO	{ int vfork(void); }



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