diff options
Diffstat (limited to 'fs/proc/kcore.c')
-rw-r--r-- | fs/proc/kcore.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c index a44a7897fd4d..19979a2ce272 100644 --- a/fs/proc/kcore.c +++ b/fs/proc/kcore.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/highmem.h> | 19 | #include <linux/highmem.h> |
20 | #include <linux/bootmem.h> | 20 | #include <linux/bootmem.h> |
21 | #include <linux/init.h> | 21 | #include <linux/init.h> |
22 | #include <linux/slab.h> | ||
22 | #include <asm/uaccess.h> | 23 | #include <asm/uaccess.h> |
23 | #include <asm/io.h> | 24 | #include <asm/io.h> |
24 | #include <linux/list.h> | 25 | #include <linux/list.h> |
@@ -490,7 +491,7 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos) | |||
490 | } | 491 | } |
491 | read_unlock(&kclist_lock); | 492 | read_unlock(&kclist_lock); |
492 | 493 | ||
493 | if (m == NULL) { | 494 | if (&m->list == &kclist_head) { |
494 | if (clear_user(buffer, tsz)) | 495 | if (clear_user(buffer, tsz)) |
495 | return -EFAULT; | 496 | return -EFAULT; |
496 | } else if (is_vmalloc_or_module_addr((void *)start)) { | 497 | } else if (is_vmalloc_or_module_addr((void *)start)) { |