--- /dev/null
+From stable-bounces@linux.kernel.org Mon Apr 3 16:36:00 2006
+Message-Id: <200604032335.k33NZkrU005816@shell0.pdx.osdl.net>
+To: vgoyal@in.ibm.com, oomichi@mxs.nes.nec.co.jp, stable@kernel.org, mm-commits@vger.kernel.org
+From: akpm@osdl.org
+Date: Mon, 3 Apr 2006 16:38:11 -0700
+Subject: kdump proc vmcore size oveflow fix
+
+From: Vivek Goyal <vgoyal@in.ibm.com>
+
+A 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@mxs.nes.nec.co.jp>
+Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ fs/proc/vmcore.c | 4 ++--
+ include/linux/proc_fs.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+--- linux-2.6.16.1.orig/fs/proc/vmcore.c
++++ linux-2.6.16.1/fs/proc/vmcore.c
+@@ -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)
+--- linux-2.6.16.1.orig/include/linux/proc_fs.h
++++ linux-2.6.16.1/include/linux/proc_fs.h
+@@ -78,7 +78,7 @@ struct kcore_list {
+ struct vmcore {
+ struct list_head list;
+ unsigned long long paddr;
+- unsigned long size;
++ unsigned long long size;
+ loff_t offset;
+ };
+
--- /dev/null
+From stable-bounces@linux.kernel.org Wed Mar 29 22:01:43 2006
+Message-Id: <200603300601.k2U61TQE031887@shell0.pdx.osdl.net>
+To: neilb@suse.de, ivan@kasenna.com, stable@kernel.org,
+ mm-commits@vger.kernel.org
+From: akpm@osdl.org
+Date: Wed, 29 Mar 2006 22:01:15 -0800
+Subject: knfsd: Correct reserved reply space for read requests.
+
+From: NeilBrown <neilb@suse.de>
+
+
+NFSd makes sure there is enough space to hold the maximum possible reply
+before accepting a request. The units for this maximum is (4byte) words.
+However in three places, particularly for read request, the number given is
+a number of bytes.
+
+This means too much space is reserved which is slightly wasteful.
+
+This is the sort of patch that could uncover a deeper bug, and it is not
+critical, so it would be best for it to spend a while in -mm before going
+in to mainline.
+
+(akpm: target 2.6.17-rc2, 2.6.16.3 (approx))
+
+Discovered-by: "Eivind Sarto" <ivan@kasenna.com>
+Signed-off-by: Neil Brown <neilb@suse.de>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ fs/nfsd/nfs3proc.c | 2 +-
+ fs/nfsd/nfs4proc.c | 2 +-
+ fs/nfsd/nfsproc.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+--- linux-2.6.16.1.orig/fs/nfsd/nfs3proc.c
++++ linux-2.6.16.1/fs/nfsd/nfs3proc.c
+@@ -682,7 +682,7 @@ static struct svc_procedure nfsd_proced
+ PROC(lookup, dirop, dirop, fhandle2, RC_NOCACHE, ST+FH+pAT+pAT),
+ PROC(access, access, access, fhandle, RC_NOCACHE, ST+pAT+1),
+ PROC(readlink, readlink, readlink, fhandle, RC_NOCACHE, ST+pAT+1+NFS3_MAXPATHLEN/4),
+- PROC(read, read, read, fhandle, RC_NOCACHE, ST+pAT+4+NFSSVC_MAXBLKSIZE),
++ PROC(read, read, read, fhandle, RC_NOCACHE, ST+pAT+4+NFSSVC_MAXBLKSIZE/4),
+ PROC(write, write, write, fhandle, RC_REPLBUFF, ST+WC+4),
+ PROC(create, create, create, fhandle2, RC_REPLBUFF, ST+(1+FH+pAT)+WC),
+ PROC(mkdir, mkdir, create, fhandle2, RC_REPLBUFF, ST+(1+FH+pAT)+WC),
+--- linux-2.6.16.1.orig/fs/nfsd/nfs4proc.c
++++ linux-2.6.16.1/fs/nfsd/nfs4proc.c
+@@ -975,7 +975,7 @@ struct nfsd4_voidargs { int dummy; };
+ */
+ static struct svc_procedure nfsd_procedures4[2] = {
+ PROC(null, void, void, void, RC_NOCACHE, 1),
+- PROC(compound, compound, compound, compound, RC_NOCACHE, NFSD_BUFSIZE)
++ PROC(compound, compound, compound, compound, RC_NOCACHE, NFSD_BUFSIZE/4)
+ };
+
+ struct svc_version nfsd_version4 = {
+--- linux-2.6.16.1.orig/fs/nfsd/nfsproc.c
++++ linux-2.6.16.1/fs/nfsd/nfsproc.c
+@@ -553,7 +553,7 @@ static struct svc_procedure nfsd_proced
+ PROC(none, void, void, none, RC_NOCACHE, ST),
+ PROC(lookup, diropargs, diropres, fhandle, RC_NOCACHE, ST+FH+AT),
+ PROC(readlink, readlinkargs, readlinkres, none, RC_NOCACHE, ST+1+NFS_MAXPATHLEN/4),
+- PROC(read, readargs, readres, fhandle, RC_NOCACHE, ST+AT+1+NFSSVC_MAXBLKSIZE),
++ PROC(read, readargs, readres, fhandle, RC_NOCACHE, ST+AT+1+NFSSVC_MAXBLKSIZE/4),
+ PROC(none, void, void, none, RC_NOCACHE, ST),
+ PROC(write, writeargs, attrstat, fhandle, RC_REPLBUFF, ST+AT),
+ PROC(create, createargs, diropres, fhandle, RC_REPLBUFF, ST+FH+AT),