All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dominik Brodowski <linux@dominikbrodowski.net>
To: linux-kernel@vger.kernel.org
Cc: viro@ZenIV.linux.org.uk, torvalds@linux-foundation.org,
	arnd@arndb.de, linux-arch@vger.kernel.org,
	Al Viro <viro@ZenIV.linux.org.uk>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH 083/109] fs: add ksys_close() wrapper; remove in-kernel calls to sys_close()
Date: Thu, 29 Mar 2018 13:24:00 +0200	[thread overview]
Message-ID: <20180329112426.23043-84-linux@dominikbrodowski.net> (raw)
In-Reply-To: <20180329112426.23043-1-linux@dominikbrodowski.net>

Using the ksys_close() wrapper allows us to get rid of in-kernel calls
to the sys_close() syscall. The ksys_ prefix denotes that this function
is meant as a drop-in replacement for the syscall. In particular, it
uses the same calling convention as sys_close(), with one subtle
difference:

The few places which checked the return value did not care about the return
value re-writing in sys_close(), so simply use a wrapper around
__close_fd().

This patch is part of a series which removes in-kernel calls to syscalls.
On this basis, the syscall entry path can be streamlined. For details, see
http://lkml.kernel.org/r/20180325162527.GA17492@light.dominikbrodowski.net

Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---
 fs/autofs4/dev-ioctl.c   |  2 +-
 fs/binfmt_misc.c         |  2 +-
 fs/file.c                |  1 +
 fs/open.c                |  1 -
 include/linux/syscalls.h | 12 ++++++++++++
 init/do_mounts.c         |  4 ++--
 init/do_mounts_initrd.c  |  2 +-
 init/do_mounts_md.c      |  8 ++++----
 init/do_mounts_rd.c      |  6 +++---
 init/initramfs.c         |  8 ++++----
 10 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/fs/autofs4/dev-ioctl.c b/fs/autofs4/dev-ioctl.c
index b7c816f39404..26f6b4f41ce6 100644
--- a/fs/autofs4/dev-ioctl.c
+++ b/fs/autofs4/dev-ioctl.c
@@ -310,7 +310,7 @@ static int autofs_dev_ioctl_closemount(struct file *fp,
 				       struct autofs_sb_info *sbi,
 				       struct autofs_dev_ioctl *param)
 {
-	return sys_close(param->ioctlfd);
+	return ksys_close(param->ioctlfd);
 }
 
 /*
diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
index a7c5a9861bef..a41b48f82a70 100644
--- a/fs/binfmt_misc.c
+++ b/fs/binfmt_misc.c
@@ -241,7 +241,7 @@ static int load_misc_binary(struct linux_binprm *bprm)
 	return retval;
 error:
 	if (fd_binary > 0)
-		sys_close(fd_binary);
+		ksys_close(fd_binary);
 	bprm->interp_flags = 0;
 	bprm->interp_data = 0;
 	goto ret;
diff --git a/fs/file.c b/fs/file.c
index d304004f0b65..7ffd6e9d103d 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -638,6 +638,7 @@ int __close_fd(struct files_struct *files, unsigned fd)
 	spin_unlock(&files->file_lock);
 	return -EBADF;
 }
+EXPORT_SYMBOL(__close_fd); /* for ksys_close() */
 
 void do_close_on_exec(struct files_struct *files)
 {
diff --git a/fs/open.c b/fs/open.c
index b3f3b2cd9f19..710102fc262b 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -1200,7 +1200,6 @@ SYSCALL_DEFINE1(close, unsigned int, fd)
 
 	return retval;
 }
-EXPORT_SYMBOL(sys_close);
 
 /*
  * This routine simulates a hangup on the tty, to arrange that users
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 41023177c8ec..38805f3447ea 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -1045,4 +1045,16 @@ static inline long ksys_ftruncate(unsigned int fd, unsigned long length)
 	return do_sys_ftruncate(fd, length, 1);
 }
 
+extern int __close_fd(struct files_struct *files, unsigned int fd);
+
+/*
+ * In contrast to sys_close(), this stub does not check whether the syscall
+ * should or should not be restarted, but returns the raw error codes from
+ * __close_fd().
+ */
+static inline int ksys_close(unsigned int fd)
+{
+	return __close_fd(current->files, fd);
+}
+
 #endif
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 89f18985fa90..a28dd42d1f84 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -492,7 +492,7 @@ void __init change_floppy(char *fmt, ...)
 	fd = sys_open("/dev/root", O_RDWR | O_NDELAY, 0);
 	if (fd >= 0) {
 		sys_ioctl(fd, FDEJECT, 0);
-		sys_close(fd);
+		ksys_close(fd);
 	}
 	printk(KERN_NOTICE "VFS: Insert %s and press ENTER\n", buf);
 	fd = sys_open("/dev/console", O_RDWR, 0);
@@ -503,7 +503,7 @@ void __init change_floppy(char *fmt, ...)
 		sys_read(fd, &c, 1);
 		termios.c_lflag |= ICANON;
 		sys_ioctl(fd, TCSETSF, (long)&termios);
-		sys_close(fd);
+		ksys_close(fd);
 	}
 }
 #endif
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index 99922d1ebfe6..6907c6dbc443 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -111,7 +111,7 @@ static void __init handle_initrd(void)
 			error = fd;
 		} else {
 			error = sys_ioctl(fd, BLKFLSBUF, 0);
-			sys_close(fd);
+			ksys_close(fd);
 		}
 		printk(!error ? "okay\n" : "failed\n");
 	}
diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c
index 3f733c760a8c..ebd4013d589e 100644
--- a/init/do_mounts_md.c
+++ b/init/do_mounts_md.c
@@ -191,7 +191,7 @@ static void __init md_setup_drive(void)
 			printk(KERN_WARNING
 			       "md: Ignoring md=%d, already autodetected. (Use raid=noautodetect)\n",
 			       minor);
-			sys_close(fd);
+			ksys_close(fd);
 			continue;
 		}
 
@@ -243,11 +243,11 @@ static void __init md_setup_drive(void)
 			 * boot a kernel with devfs compiled in from partitioned md
 			 * array without it
 			 */
-			sys_close(fd);
+			ksys_close(fd);
 			fd = sys_open(name, 0, 0);
 			sys_ioctl(fd, BLKRRPART, 0);
 		}
-		sys_close(fd);
+		ksys_close(fd);
 	}
 }
 
@@ -297,7 +297,7 @@ static void __init autodetect_raid(void)
 	fd = sys_open("/dev/md0", 0, 0);
 	if (fd >= 0) {
 		sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
-		sys_close(fd);
+		ksys_close(fd);
 	}
 }
 
diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c
index 5b69056f610a..f1aa341862d3 100644
--- a/init/do_mounts_rd.c
+++ b/init/do_mounts_rd.c
@@ -257,7 +257,7 @@ int __init rd_load_image(char *from)
 		if (i && (i % devblocks == 0)) {
 			printk("done disk #%d.\n", disk++);
 			rotate = 0;
-			if (sys_close(in_fd)) {
+			if (ksys_close(in_fd)) {
 				printk("Error closing the disk.\n");
 				goto noclose_input;
 			}
@@ -283,9 +283,9 @@ int __init rd_load_image(char *from)
 successful_load:
 	res = 1;
 done:
-	sys_close(in_fd);
+	ksys_close(in_fd);
 noclose_input:
-	sys_close(out_fd);
+	ksys_close(out_fd);
 out:
 	kfree(buf);
 	ksys_unlink("/dev/ram");
diff --git a/init/initramfs.c b/init/initramfs.c
index 0d3b001b0dc5..ce2bcad97cdf 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -373,7 +373,7 @@ static int __init do_copy(void)
 	if (byte_count >= body_len) {
 		if (xwrite(wfd, victim, body_len) != body_len)
 			error("write error");
-		sys_close(wfd);
+		ksys_close(wfd);
 		do_utime(vcollected, mtime);
 		kfree(vcollected);
 		eat(body_len);
@@ -574,7 +574,7 @@ static void __init clean_rootfs(void)
 	buf = kzalloc(BUF_SIZE, GFP_KERNEL);
 	WARN_ON(!buf);
 	if (!buf) {
-		sys_close(fd);
+		ksys_close(fd);
 		return;
 	}
 
@@ -602,7 +602,7 @@ static void __init clean_rootfs(void)
 		num = sys_getdents64(fd, dirp, BUF_SIZE);
 	}
 
-	sys_close(fd);
+	ksys_close(fd);
 	kfree(buf);
 }
 #endif
@@ -639,7 +639,7 @@ static int __init populate_rootfs(void)
 				pr_err("/initrd.image: incomplete write (%zd != %ld)\n",
 				       written, initrd_end - initrd_start);
 
-			sys_close(fd);
+			ksys_close(fd);
 			free_initrd();
 		}
 	done:
-- 
2.16.3

  parent reply	other threads:[~2018-03-29 11:41 UTC|newest]

Thread overview: 133+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-29 11:22 [PATCH 000/109] remove in-kernel calls to syscalls Dominik Brodowski
2018-03-29 11:22 ` Dominik Brodowski
2018-03-29 11:22 ` Dominik Brodowski
2018-03-29 11:22 ` Dominik Brodowski
2018-03-29 11:22 ` [PATCH 001/109] syscalls: define and explain goal to not call syscalls in the kernel Dominik Brodowski
2018-03-29 11:22 ` [PATCH 002/109] kernel: use kernel_wait4() instead of sys_wait4() Dominik Brodowski
2018-04-02 16:14   ` Luis R. Rodriguez
2018-03-29 11:22 ` [PATCH 003/109] kernel: open-code sys_rt_sigpending() in sys_sigpending() Dominik Brodowski
2018-03-29 11:22 ` [PATCH 004/109] kexec: call do_kexec_load() in compat syscall directly Dominik Brodowski
2018-03-29 11:22   ` Dominik Brodowski
2018-03-29 11:22   ` Dominik Brodowski
2018-03-29 11:22 ` [PATCH 005/109] mm: use do_futex() instead of sys_futex() in mm_release() Dominik Brodowski
2018-03-29 11:22 ` [PATCH 006/109] x86: use _do_fork() in compat_sys_x86_clone() Dominik Brodowski
2018-03-29 11:22 ` [PATCH 007/109] x86: remove compat_sys_x86_waitpid() Dominik Brodowski
2018-03-29 11:22 ` [PATCH 008/109] net: socket: add __sys_recvfrom() helper; remove in-kernel call to syscall Dominik Brodowski
2018-03-29 11:22 ` [PATCH 009/109] net: socket: add __sys_sendto() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 010/109] net: socket: add __sys_accept4() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 011/109] net: socket: add __sys_socket() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 012/109] net: socket: add __sys_bind() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 013/109] net: socket: add __sys_connect() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 014/109] net: socket: add __sys_listen() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 015/109] net: socket: add __sys_getsockname() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 016/109] net: socket: add __sys_getpeername() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 017/109] net: socket: add __sys_socketpair() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 018/109] net: socket: add __sys_shutdown() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 019/109] net: socket: add __sys_setsockopt() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 020/109] net: socket: add __sys_getsockopt() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 021/109] net: socket: add do_sys_recvmmsg() " Dominik Brodowski
2018-03-29 11:22 ` [PATCH 022/109] net: socket: move check for forbid_cmsg_compat to __sys_...msg() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 023/109] net: socket: replace calls to sys_send() with __sys_sendto() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 024/109] net: socket: replace call to sys_recv() with __sys_recvfrom() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 025/109] net: socket: add __compat_sys_recvfrom() helper; remove in-kernel call to compat syscall Dominik Brodowski
2018-03-29 11:23 ` [PATCH 026/109] net: socket: add __compat_sys_setsockopt() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 027/109] net: socket: add __compat_sys_getsockopt() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 028/109] net: socket: add __compat_sys_recvmmsg() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 029/109] net: socket: add __compat_sys_...msg() helpers; remove in-kernel calls to compat syscalls Dominik Brodowski
2018-03-29 11:23 ` [PATCH 030/109] ipc: add semtimedop syscall/compat_syscall wrappers Dominik Brodowski
2018-03-29 11:23 ` [PATCH 031/109] ipc: add semget syscall wrapper Dominik Brodowski
2018-03-29 11:23 ` [PATCH 032/109] ipc: add semctl syscall/compat_syscall wrappers Dominik Brodowski
2018-03-29 11:23 ` [PATCH 033/109] ipc: add msgget syscall wrapper Dominik Brodowski
2018-03-29 11:23 ` [PATCH 034/109] ipc: add shmget " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 035/109] ipc: add shmdt " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 036/109] ipc: add shmctl syscall/compat_syscall wrappers Dominik Brodowski
2018-03-29 11:23 ` [PATCH 037/109] ipc: add msgctl " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 038/109] ipc: add msgrcv " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 039/109] ipc: add msgsnd " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 040/109] kernel: add do_getpgid() helper; remove internal call to sys_getpgid() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 041/109] kernel: add do_compat_sigaltstack() helper; remove in-kernel call to compat syscall Dominik Brodowski
2018-03-29 11:23 ` [PATCH 042/109] kernel: provide ksys_*() wrappers for syscalls called by kernel/uid16.c Dominik Brodowski
2018-03-29 11:23 ` [PATCH 043/109] sched: add do_sched_yield() helper; remove in-kernel call to sched_yield() Dominik Brodowski
2018-03-29 11:41   ` Peter Zijlstra
2018-03-29 11:23 ` [PATCH 044/109] mm: add kernel_migrate_pages() helper, move compat syscall to mm/mempolicy.c Dominik Brodowski
2018-03-29 11:23 ` [PATCH 045/109] mm: add kernel_move_pages() helper, move compat syscall to mm/migrate.c Dominik Brodowski
2018-03-29 11:23 ` [PATCH 046/109] mm: add kernel_mbind() helper; remove in-kernel call to syscall Dominik Brodowski
2018-03-29 11:23 ` [PATCH 047/109] mm: add kernel_[sg]et_mempolicy() helpers; remove in-kernel calls to syscalls Dominik Brodowski
2018-03-29 11:23 ` [PATCH 048/109] fs: add do_readlinkat() helper; remove internal call to sys_readlinkat() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 049/109] fs: add do_pipe2() helper; remove internal call to sys_pipe2() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 050/109] fs: add do_renameat2() helper; remove internal call to sys_renameat2() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 051/109] fs: add do_futimesat() helper; remove internal call to sys_futimesat() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 052/109] fs: add do_epoll_*() helpers; remove internal calls to sys_epoll_*() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 053/109] fs: add do_signalfd4() helper; remove internal calls to sys_signalfd4() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 054/109] fs: add do_eventfd() helper; remove internal call to sys_eventfd() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 055/109] fs: add do_lookup_dcookie() helper; remove in-kernel call to syscall Dominik Brodowski
2018-03-29 11:23 ` [PATCH 056/109] fs: add do_vmsplice() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 057/109] fs: add kern_select() helper; remove in-kernel call to sys_select() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 058/109] fs: add do_compat_fcntl64() helper; remove in-kernel call to compat syscall Dominik Brodowski
2018-03-29 11:23 ` [PATCH 059/109] fs: add do_compat_select() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 060/109] fs: add do_compat_signalfd4() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 061/109] fs: add do_compat_futimesat() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 062/109] inotify: add do_inotify_init() helper; remove in-kernel call to syscall Dominik Brodowski
2018-03-29 11:23 ` [PATCH 063/109] fanotify: add do_fanotify_mark() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 064/109] fs/quota: add kernel_quotactl() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 065/109] fs/quota: use COMPAT_SYSCALL_DEFINE for sys32_quotactl() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 066/109] fs: add ksys_mount() helper; remove in-kernel calls to sys_mount() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 067/109] fs: add ksys_umount() helper; remove in-kernel call to sys_umount() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 068/109] fs: add ksys_dup{,3}() helper; remove in-kernel calls to sys_dup{,3}() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 069/109] fs: add ksys_chroot() helper; remove-in kernel calls to sys_chroot() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 070/109] fs: add ksys_write() helper; remove in-kernel calls to sys_write() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 071/109] fs: add ksys_chdir() helper; remove in-kernel calls to sys_chdir() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 072/109] fs: add ksys_unlink() wrapper; remove in-kernel calls to sys_unlink() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 073/109] hostfs: rename do_rmdir() to hostfs_do_rmdir() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 074/109] fs: add ksys_rmdir() wrapper; remove in-kernel calls to sys_rmdir() Dominik Brodowski
2018-03-29 11:23 ` [PATCH 075/109] fs: add do_mkdirat() helper and ksys_mkdir() wrapper; remove in-kernel calls to syscall Dominik Brodowski
2018-03-29 11:23 ` [PATCH 076/109] fs: add do_symlinkat() helper and ksys_symlink() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 077/109] fs: add do_mknodat() helper and ksys_mknod() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 078/109] fs: add do_linkat() helper and ksys_link() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 079/109] fs: add ksys_fchmod() and do_fchmodat() helpers and ksys_chmod() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 080/109] fs: add do_faccessat() helper and ksys_access() " Dominik Brodowski
2018-03-29 11:23 ` [PATCH 081/109] fs: add do_fchownat(), ksys_fchown() helpers and ksys_{,l}chown() wrappers Dominik Brodowski
2018-03-29 11:23 ` [PATCH 082/109] fs: add ksys_ftruncate() wrapper; remove in-kernel calls to sys_ftruncate() Dominik Brodowski
2018-03-29 11:24 ` Dominik Brodowski [this message]
2018-03-29 11:24 ` [PATCH 084/109] fs: add ksys_open() wrapper; remove in-kernel calls to sys_open() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 085/109] fs: add ksys_getdents64() helper; remove in-kernel calls to sys_getdents64() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 086/109] fs: add ksys_ioctl() helper; remove in-kernel calls to sys_ioctl() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 087/109] fs: add ksys_lseek() helper; remove in-kernel calls to sys_lseek() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 088/109] fs: add ksys_read() helper; remove in-kernel calls to sys_read() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 089/109] fs: add ksys_sync() helper; remove in-kernel calls to sys_sync() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 090/109] kernel: add ksys_unshare() helper; remove in-kernel calls to sys_unshare() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 091/109] kernel: add ksys_setsid() helper; remove in-kernel call to sys_setsid() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 092/109] fs: add ksys_sync_file_range helper(); remove in-kernel calls to syscall Dominik Brodowski
2018-03-29 11:24 ` [PATCH 093/109] fs: add ksys_truncate() wrapper; remove in-kernel calls to sys_truncate() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 094/109] fs: add ksys_p{read,write}64() helpers; remove in-kernel calls to syscalls Dominik Brodowski
2018-03-29 11:24 ` [PATCH 095/109] fs: add ksys_fallocate() wrapper; remove in-kernel calls to sys_fallocate() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 096/109] mm: add ksys_fadvise64_64() helper; remove in-kernel call to sys_fadvise64_64() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 097/109] mm: add ksys_mmap_pgoff() helper; remove in-kernel calls to sys_mmap_pgoff() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 098/109] mm: add ksys_readahead() helper; remove in-kernel calls to sys_readahead() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 099/109] x86/ioport: add ksys_ioperm() helper; remove in-kernel calls to sys_ioperm() Dominik Brodowski
2018-03-29 11:24 ` [PATCH 100/109] x86: fix sys_sigreturn() return type to be long, not unsigned long Dominik Brodowski
2018-03-29 11:24 ` [PATCH 101/109] x86/sigreturn: use SYSCALL_DEFINE0 Dominik Brodowski
2018-03-29 11:24 ` [PATCH 102/109] kexec: move sys_kexec_load() prototype to syscalls.h Dominik Brodowski
2018-03-29 11:24   ` Dominik Brodowski
2018-03-29 11:24   ` Dominik Brodowski
2018-03-29 11:24 ` [PATCH 103/109] syscalls: sort syscall prototypes in include/linux/syscalls.h Dominik Brodowski
2018-03-29 11:24 ` [PATCH 104/109] net: remove compat_sys_*() prototypes from net/compat.h Dominik Brodowski
2018-03-29 11:24 ` [PATCH 105/109] syscalls: sort syscall prototypes in include/linux/compat.h Dominik Brodowski
2018-03-29 11:24 ` [PATCH 106/109] syscalls/x86: auto-create compat_sys_*() prototypes Dominik Brodowski
2018-03-29 11:24 ` [PATCH 107/109] kernel/sys_ni: sort cond_syscall() entries Dominik Brodowski
2018-03-29 11:24 ` [PATCH 108/109] kernel/sys_ni: remove {sys_,sys_compat} from cond_syscall definitions Dominik Brodowski
2018-03-29 11:24 ` [PATCH 109/109] bpf: whitelist all syscalls for error injection Dominik Brodowski
2018-03-29 14:20 ` [PATCH 000/109] remove in-kernel calls to syscalls Matthew Wilcox
2018-03-29 14:20   ` Matthew Wilcox
2018-03-29 14:20   ` Matthew Wilcox
2018-03-29 14:42   ` Dominik Brodowski
2018-03-29 14:42     ` Dominik Brodowski
2018-03-29 14:42     ` Dominik Brodowski
2018-03-29 14:46     ` David Laight
2018-03-29 14:46       ` David Laight
2018-03-29 14:46       ` David Laight
2018-03-29 14:46       ` David Laight
2018-03-29 14:55       ` Dominik Brodowski
2018-03-29 14:55         ` Dominik Brodowski
2018-03-29 14:55         ` Dominik Brodowski
2018-03-29 14:55         ` Dominik Brodowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180329112426.23043-84-linux@dominikbrodowski.net \
    --to=linux@dominikbrodowski.net \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.