aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Wilson <njw@osdl.org>2005-09-22 21:44:28 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-22 22:17:37 -0700
commit10d2c46f9408d404bffef89d5052953a3b1d9288 (patch)
tree5eace052aa3b694d9e1e8a523bf66641e0c51966
parent[PATCH] Fix bd_claim() error code. (diff)
downloadlinux-dev-10d2c46f9408d404bffef89d5052953a3b1d9288.tar.xz
linux-dev-10d2c46f9408d404bffef89d5052953a3b1d9288.zip
[PATCH] NFS: fix client oops when debugging is on
nfs_readpage_release() causes an oops while accessing a file with NFS debugging turned on (echo 32767 > /proc/sys/sunrpc/nfs_debug) and a kernel built with CONFIG_DEBUG_SLAB. This patch moves the debugging statement above nfs_release_request() to avoid accessing freed memory. Signed-off-by: Nick Wilson <njw@osdl.org> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/nfs/read.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index 6ceb1d471f20..9758ebd49905 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -184,14 +184,13 @@ static void nfs_readpage_release(struct nfs_page *req)
{
unlock_page(req->wb_page);
- nfs_clear_request(req);
- nfs_release_request(req);
-
dprintk("NFS: read done (%s/%Ld %d@%Ld)\n",
req->wb_context->dentry->d_inode->i_sb->s_id,
(long long)NFS_FILEID(req->wb_context->dentry->d_inode),
req->wb_bytes,
(long long)req_offset(req));
+ nfs_clear_request(req);
+ nfs_release_request(req);
}
/*