提交 0ae26f1b 编写于 作者: A Andrew Morton 提交者: Linus Torvalds

[PATCH] mmput() might sleep

exit_aio() and exit_mmap() can sleep.  But it's easy to accidentally call
mmput() from inside locks.

Cc: Dave Peterson <dsp@llnl.gov>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 32797f97
...@@ -368,6 +368,8 @@ void fastcall __mmdrop(struct mm_struct *mm) ...@@ -368,6 +368,8 @@ void fastcall __mmdrop(struct mm_struct *mm)
*/ */
void mmput(struct mm_struct *mm) void mmput(struct mm_struct *mm)
{ {
might_sleep();
if (atomic_dec_and_test(&mm->mm_users)) { if (atomic_dec_and_test(&mm->mm_users)) {
exit_aio(mm); exit_aio(mm);
exit_mmap(mm); exit_mmap(mm);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册