summaryrefslogtreecommitdiffstats
path: root/fs/proc/base.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2012-01-31 17:14:38 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2012-02-01 14:39:01 -0800
commit71879d3cb3dd8f2dfdefb252775c1b3ea04a3dd4 (patch)
treebefc1bd5504c6d97a24a2d519de19eaa3af0906f /fs/proc/base.c
parent879a5a001b62a020e074d460b3a7c0fd993f9832 (diff)
downloadlinux-71879d3cb3dd8f2dfdefb252775c1b3ea04a3dd4.tar.bz2
proc: mem_release() should check mm != NULL
mem_release() can hit mm == NULL, add the necessary check. Cc: stable@kernel.org Signed-off-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/proc/base.c')
-rw-r--r--fs/proc/base.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 9cde9edf9c4d..c3617ea7830b 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -822,8 +822,8 @@ loff_t mem_lseek(struct file *file, loff_t offset, int orig)
static int mem_release(struct inode *inode, struct file *file)
{
struct mm_struct *mm = file->private_data;
-
- mmput(mm);
+ if (mm)
+ mmput(mm);
return 0;
}