Re: [PATCH] alpha: remove osf_{readv,writev}

From: Lukas Bulwahn
Date: Tue Oct 04 2022 - 10:03:03 EST


On Tue, Oct 4, 2022 at 3:53 PM Jason A. Donenfeld <Jason@xxxxxxxxx> wrote:
>
> As of 987f20a9dcce ("a.out: Remove the a.out implementation"),
> sys_osf_{readv,writev} is now the same as sys_{readv,writev}. So remove
> the osf indirection, and point the syscall table directly at the generic
> functions, as is done on other platforms.
>
> Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Kees Cook <keescook@xxxxxxxxxxxx>
> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx>
> Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx>
> ---
> Only compiled and QEMU-booted with no userspace, but seems simple
> enough?
>

This patch looks exactly the same as the patch I sent a few hours ago:

https://lore.kernel.org/lkml/20221004071302.11471-1-lukas.bulwahn@xxxxxxxxx/

My patch was completely untested; good that this one is at least
compile tested and went through basic boot tests.

Any of the two patches, the one above or this one, can be picked.

Reviewed-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx>



Lukas

> arch/alpha/kernel/osf_sys.c | 12 ------------
> arch/alpha/kernel/syscalls/syscall.tbl | 4 ++--
> 2 files changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
> index b3ad8c44c971..6c6c4337e201 100644
> --- a/arch/alpha/kernel/osf_sys.c
> +++ b/arch/alpha/kernel/osf_sys.c
> @@ -1278,18 +1278,6 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
> return addr;
> }
>
> -SYSCALL_DEFINE3(osf_readv, unsigned long, fd,
> - const struct iovec __user *, vector, unsigned long, count)
> -{
> - return sys_readv(fd, vector, count);
> -}
> -
> -SYSCALL_DEFINE3(osf_writev, unsigned long, fd,
> - const struct iovec __user *, vector, unsigned long, count)
> -{
> - return sys_writev(fd, vector, count);
> -}
> -
> SYSCALL_DEFINE2(osf_getpriority, int, which, int, who)
> {
> int prio = sys_getpriority(which, who);
> diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
> index 3515bc4f16a4..8ebacf37a8cf 100644
> --- a/arch/alpha/kernel/syscalls/syscall.tbl
> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
> @@ -125,8 +125,8 @@
> 116 common osf_gettimeofday sys_osf_gettimeofday
> 117 common osf_getrusage sys_osf_getrusage
> 118 common getsockopt sys_getsockopt
> -120 common readv sys_osf_readv
> -121 common writev sys_osf_writev
> +120 common readv sys_readv
> +121 common writev sys_writev
> 122 common osf_settimeofday sys_osf_settimeofday
> 123 common fchown sys_fchown
> 124 common fchmod sys_fchmod
> --
> 2.37.3
>