Commit 10d2c46f authored by Nick Wilson's avatar Nick Wilson Committed by Linus Torvalds

[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: default avatarNick Wilson <njw@osdl.org>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent f7b3a435
...@@ -184,14 +184,13 @@ static void nfs_readpage_release(struct nfs_page *req) ...@@ -184,14 +184,13 @@ static void nfs_readpage_release(struct nfs_page *req)
{ {
unlock_page(req->wb_page); unlock_page(req->wb_page);
nfs_clear_request(req);
nfs_release_request(req);
dprintk("NFS: read done (%s/%Ld %d@%Ld)\n", dprintk("NFS: read done (%s/%Ld %d@%Ld)\n",
req->wb_context->dentry->d_inode->i_sb->s_id, req->wb_context->dentry->d_inode->i_sb->s_id,
(long long)NFS_FILEID(req->wb_context->dentry->d_inode), (long long)NFS_FILEID(req->wb_context->dentry->d_inode),
req->wb_bytes, req->wb_bytes,
(long long)req_offset(req)); (long long)req_offset(req));
nfs_clear_request(req);
nfs_release_request(req);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment