[PATCH] kdump proc vmcore size oveflow fix

From: Vivek Goyal
Date: Mon Apr 03 2006 - 11:53:37 EST




o Couple of /proc/vmcore data structures overflow with 32bit systems having
memory more than 4G. This patch fixes those.

Signed-off-by: Ken'ichi Ohmichi <oomichi@xxxxxxxxxxxxxxxxx>
Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
---

fs/proc/vmcore.c | 4 ++--
include/linux/proc_fs.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff -puN include/linux/proc_fs.h~kdump-vmcore-size-overflow-bug-fix include/linux/proc_fs.h
--- linux-2.6.16-mm2-16M/include/linux/proc_fs.h~kdump-vmcore-size-overflow-bug-fix 2006-04-03 10:20:01.000000000 -0400
+++ linux-2.6.16-mm2-16M-root/include/linux/proc_fs.h 2006-04-03 10:20:01.000000000 -0400
@@ -79,7 +79,7 @@ struct kcore_list {
struct vmcore {
struct list_head list;
unsigned long long paddr;
- unsigned long size;
+ unsigned long long size;
loff_t offset;
};

diff -puN fs/proc/vmcore.c~kdump-vmcore-size-overflow-bug-fix fs/proc/vmcore.c
--- linux-2.6.16-mm2-16M/fs/proc/vmcore.c~kdump-vmcore-size-overflow-bug-fix 2006-04-03 10:20:01.000000000 -0400
+++ linux-2.6.16-mm2-16M-root/fs/proc/vmcore.c 2006-04-03 10:34:08.000000000 -0400
@@ -103,8 +103,8 @@ static ssize_t read_vmcore(struct file *
size_t buflen, loff_t *fpos)
{
ssize_t acc = 0, tmp;
- size_t tsz, nr_bytes;
- u64 start;
+ size_t tsz;
+ u64 start, nr_bytes;
struct vmcore *curr_m = NULL;

if (buflen == 0 || *fpos >= vmcore_size)
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/