diff options
author | Cyrill Gorcunov <gorcunov@openvz.org> | 2012-06-07 17:21:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-07 17:43:55 -0400 |
commit | 1ad75b9e16280ca4e2501a629a225319cf2eef2e (patch) | |
tree | 360b86785011959e68a4d87cb32bd92120370990 /kernel | |
parent | bafb282df29c1524b1617019adebd6d0c3eb7a47 (diff) |
c/r: prctl: add minimal address test to PR_SET_MM
Make sure the address being set is greater than mmap_min_addr (as
suggested by Kees Cook).
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Serge Hallyn <serge.hallyn@canonical.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sys.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 54f20fdee93c..19a2c7139960 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -1869,7 +1869,7 @@ static int prctl_set_mm(int opt, unsigned long addr, | |||
1869 | if (opt == PR_SET_MM_EXE_FILE) | 1869 | if (opt == PR_SET_MM_EXE_FILE) |
1870 | return prctl_set_mm_exe_file(mm, (unsigned int)addr); | 1870 | return prctl_set_mm_exe_file(mm, (unsigned int)addr); |
1871 | 1871 | ||
1872 | if (addr >= TASK_SIZE) | 1872 | if (addr >= TASK_SIZE || addr < mmap_min_addr) |
1873 | return -EINVAL; | 1873 | return -EINVAL; |
1874 | 1874 | ||
1875 | error = -EINVAL; | 1875 | error = -EINVAL; |