summaryrefslogtreecommitdiff
path: root/net/socket.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-08-12 09:12:30 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-08-16 14:27:41 -0700
commit75a171628ce5a670db5adbf59270fb3d2fe673fa (patch)
treecd36d9663b26cbe40a2d5535f4b9640bffc38179 /net/socket.c
parentb70cadcb8e5bd341dfc2e88a749d7110bfc8200d (diff)
NFS: Fix an O_DIRECT Oops...
commit 1ae88b2e446261c038f2c0c3150ffae142b227a2 upstream. We can't call nfs_readdata_release()/nfs_writedata_release() without first initialising and referencing args.context. Doing so inside nfs_direct_read_schedule_segment()/nfs_direct_write_schedule_segment() causes an Oops. We should rather be calling nfs_readdata_free()/nfs_writedata_free() in those cases. Looking at the O_DIRECT code, the "struct nfs_direct_req" is already referencing the nfs_open_context for us. Since the readdata and writedata structures carry a reference to that, we can simplify things by getting rid of the extra nfs_open_context references, so that we can replace all instances of nfs_readdata_release()/nfs_writedata_release(). Reported-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Tested-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net/socket.c')
0 files changed, 0 insertions, 0 deletions