um: move amd64 variant of mmap(2) to arch/x86/um/syscalls_64.c
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 20 Sep 2021 21:32:48 +0000 (21:32 +0000)
committerRichard Weinberger <richard@nod.at>
Tue, 21 Dec 2021 20:30:44 +0000 (21:30 +0100)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/kernel/Makefile
arch/um/kernel/syscall.c [deleted file]
arch/x86/um/shared/sysdep/syscalls_64.h
arch/x86/um/sys_call_table_64.c
arch/x86/um/syscalls_64.c

index 1d18e4e469895dcd07e87bd653c0fe00f1a6d70c..7ab6d40558b612a6e4b9eff1b1be14a401ec653f 100644 (file)
@@ -16,7 +16,7 @@ extra-y := vmlinux.lds
 
 obj-y = config.o exec.o exitcode.o irq.o ksyms.o mem.o \
        physmem.o process.o ptrace.o reboot.o sigio.o \
-       signal.o syscall.o sysrq.o time.o tlb.o trap.o \
+       signal.o sysrq.o time.o tlb.o trap.o \
        um_arch.o umid.o maccess.o kmsg_dump.o capflags.o skas/
 
 obj-$(CONFIG_BLK_DEV_INITRD) += initrd.o
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c
deleted file mode 100644 (file)
index eed54c5..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
- */
-
-#include <linux/file.h>
-#include <linux/fs.h>
-#include <linux/mm.h>
-#include <linux/sched.h>
-#include <linux/utsname.h>
-#include <linux/syscalls.h>
-#include <asm/current.h>
-#include <asm/mman.h>
-#include <linux/uaccess.h>
-#include <asm/unistd.h>
-
-long old_mmap(unsigned long addr, unsigned long len,
-             unsigned long prot, unsigned long flags,
-             unsigned long fd, unsigned long offset)
-{
-       long err = -EINVAL;
-       if (offset & ~PAGE_MASK)
-               goto out;
-
-       err = ksys_mmap_pgoff(addr, len, prot, flags, fd, offset >> PAGE_SHIFT);
- out:
-       return err;
-}
index 8a7d5e1da98e5a174a61dc2b00c59ba2c0614e3d..48d6cd12f8a5e62077b440684fcae086012ec164 100644 (file)
@@ -23,9 +23,6 @@ extern syscall_handler_t *sys_call_table[];
                                      UPT_SYSCALL_ARG5(&regs->regs), \
                                      UPT_SYSCALL_ARG6(&regs->regs)))
 
-extern long old_mmap(unsigned long addr, unsigned long len,
-                    unsigned long prot, unsigned long flags,
-                    unsigned long fd, unsigned long pgoff);
 extern syscall_handler_t sys_modify_ldt;
 extern syscall_handler_t sys_arch_prctl;
 
index 82b695ed23c4115d74f464c7a5acf8872ab06fe7..b0b4cfd2308c87e4bf078657b9fe6e3b3659f8f3 100644 (file)
@@ -18,9 +18,6 @@
 #define sys_iopl sys_ni_syscall
 #define sys_ioperm sys_ni_syscall
 
-/* On UML we call it this way ("old" means it's not mmap2) */
-#define sys_mmap old_mmap
-
 #define __SYSCALL(nr, sym) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
 #include <asm/syscalls_64.h>
 
index 8249685b409605a486d19621c2a78a9713856c58..e768f54b118ce3c6aada9301dde97e1d1d163344 100644 (file)
@@ -88,3 +88,13 @@ void arch_switch_to(struct task_struct *to)
 
        arch_prctl(to, ARCH_SET_FS, (void __user *) to->thread.arch.fs);
 }
+
+SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
+               unsigned long, prot, unsigned long, flags,
+               unsigned long, fd, unsigned long, off)
+{
+       if (off & ~PAGE_MASK)
+               return -EINVAL;
+
+       return ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT);
+}