summary refs log tree commit diff
path: root/fs/proc
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
parent879a5a001b62a020e074d460b3a7c0fd993f9832 (diff)
downloadlinux-71879d3cb3dd8f2dfdefb252775c1b3ea04a3dd4.tar.gz
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')
-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;
 }