Thread (53 messages) 53 messages, 4 authors, 2018-06-20

[PATCHv3 13/19] kernel: add ksys_personality()

From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2018-06-19 15:45:46
Also in: linux-fsdevel

On Mon, Jun 18, 2018 at 01:03:04PM +0100, Mark Rutland wrote:
quoted hunk ↗ jump to hunk
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 73810808cdf2..14312d334345 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -80,6 +80,7 @@ union bpf_attr;
 #include <linux/unistd.h>
 #include <linux/quota.h>
 #include <linux/key.h>
+#include <linux/personality.h>
 #include <trace/syscall.h>
 
 #ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER
@@ -1277,4 +1278,14 @@ static inline long ksys_truncate(const char __user *pathname, loff_t length)
 	return do_sys_truncate(pathname, length);
 }
 
+static inline unsigned int ksys_personality(unsigned int personality)
+{
+	unsigned int old = current->personality;
+
+	if (personality != 0xffffffff)
+		set_personality(personality);
+
+	return old;
+}
+
 #endif
It looks like this is identical to sys_personality() in
kernel/exec_domain.c. Should you call ksys_personality() from there
directly (a few lines saved)?

-- 
Catalin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help