===================================================================
@@ -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
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@NTLWorld.COM> CC: Andrey Vagin <avagin@openvz.org> CC: Andrew Morton <akpm@linuxfoundation.org> CC: Michael Kerrisk <mtk.manpages@gmail.com> CC: Yang Shi <yang.shi@linux.alibaba.com> CC: Michal Hocko <mhocko@kernel.org> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> --- kernel/sys.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)