[rfc linux-next 1/3] [RFC] prctl: prctl_set_mm -- Move PR_SET_MM_MAP_SIZE out of prctl_set_mm_map

From: Cyrill Gorcunov
Date: Mon May 07 2018 - 03:56:25 EST


It is a preparatory patch so next we will make prctl_set_mm_map
to accept struct prctl_mm_map as an argument and the only
thing prctl_set_mm_map will do is to setup new memory map,
not handling any other operations.

CC: Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@xxxxxxxxxxxx>
CC: Andrey Vagin <avagin@xxxxxxxxxx>
CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxx>
CC: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
CC: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>
CC: Michal Hocko <mhocko@xxxxxxxxxx>
Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
---
kernel/sys.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

Index: linux-ml.git/kernel/sys.c
===================================================================
--- linux-ml.git.orig/kernel/sys.c
+++ linux-ml.git/kernel/sys.c
@@ -1979,10 +1979,6 @@ static int prctl_set_mm_map(int opt, con
BUILD_BUG_ON(sizeof(user_auxv) != sizeof(mm->saved_auxv));
BUILD_BUG_ON(sizeof(struct prctl_mm_map) > 256);

- if (opt == PR_SET_MM_MAP_SIZE)
- return put_user((unsigned int)sizeof(prctl_map),
- (unsigned int __user *)addr);
-
if (data_size != sizeof(prctl_map))
return -EINVAL;

@@ -2063,7 +2059,11 @@ static int prctl_set_mm(int opt, unsigne
unsigned long arg4, unsigned long arg5)
{
#ifdef CONFIG_CHECKPOINT_RESTORE
- if (opt == PR_SET_MM_MAP || opt == PR_SET_MM_MAP_SIZE)
+ if (opt == PR_SET_MM_MAP_SIZE)
+ return put_user((unsigned int)sizeof(struct prctl_mm_map),
+ (unsigned int __user *)addr);
+
+ if (opt == PR_SET_MM_MAP)
return prctl_set_mm_map(opt, (const void __user *)addr, arg4);
#endif