Commit 7a36a752 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds

get_user_pages(): fix possible page leak on oom

get_user_pages() must not return the error when i != 0.  When pages !=
NULL we have i get_page()'ed pages.
Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
Acked-by: default avatarNick Piggin <npiggin@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7ca796f4
...@@ -1151,7 +1151,7 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, ...@@ -1151,7 +1151,7 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
* be processed until returning to user space. * be processed until returning to user space.
*/ */
if (unlikely(test_tsk_thread_flag(tsk, TIF_MEMDIE))) if (unlikely(test_tsk_thread_flag(tsk, TIF_MEMDIE)))
return -ENOMEM; return i ? i : -ENOMEM;
if (write) if (write)
foll_flags |= FOLL_WRITE; foll_flags |= FOLL_WRITE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment