android_kernel_xiaomi_sm8350/fs/nfs
Trond Myklebust e9f7bee1df [PATCH] NFS: large non-page-aligned direct I/O clobbers memory
The logic in nfs_direct_read_schedule and nfs_direct_write_schedule can
allow data->npages to be one larger than rpages.  This causes a page
pointer to be written beyond the end of the pagevec in nfs_read_data (or
nfs_write_data).

Fix this by making nfs_(read|write)_alloc() calculate the size of the
pagevec array, and initialise data->npages.

Also get rid of the redundant argument to nfs_commit_alloc().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-08 10:22:51 -07:00
..
callback_proc.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
callback_xdr.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
callback.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
callback.h
delegation.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
delegation.h
dir.c NFS: Optimise away an excessive GETATTR call when a file is symlinked 2006-07-05 13:17:13 -04:00
direct.c [PATCH] NFS: large non-page-aligned direct I/O clobbers memory 2006-09-08 10:22:51 -07:00
file.c NFS: Fix a potential deadlock in nfs_release_page 2006-08-24 15:48:46 -04:00
idmap.c SUNRPC: Fix dentry refcounting issues with users of rpc_pipefs 2006-08-24 15:50:51 -04:00
inode.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
internal.h [PATCH] nfs: non-procfs build fix 2006-07-02 15:10:20 -07:00
iostat.h
Makefile NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
mount_clnt.c Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 2006-03-25 09:18:27 -08:00
namespace.c NFS: Release dcache_lock in an error path of nfs_path 2006-08-03 16:55:01 -04:00
nfs2xdr.c Fix NFS2 compile error 2006-06-25 12:30:33 -07:00
nfs3acl.c NFSv3: Client-side nfsacl caching fix 2006-06-09 09:34:11 -04:00
nfs3proc.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
nfs3xdr.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
nfs4_fs.h NFSv4: Define an fs_locations bitmap 2006-06-09 09:34:25 -04:00
nfs4namespace.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
nfs4proc.c NFSv4: Add v4 exception handling for the ACL functions. 2006-08-24 15:54:13 -04:00
nfs4renewd.c
nfs4state.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
nfs4xdr.c NFS: Check lengths more thoroughly in NFS4 readdir XDR decode 2006-08-24 15:53:34 -04:00
nfsroot.c
pagelist.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
proc.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
read.c [PATCH] NFS: large non-page-aligned direct I/O clobbers memory 2006-09-08 10:22:51 -07:00
super.c nfs-build-fix-99 2006-06-25 06:38:47 -04:00
symlink.c nfs: remove nfs_put_link() 2006-06-25 06:39:35 -04:00
sysctl.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
unlink.c
write.c [PATCH] NFS: large non-page-aligned direct I/O clobbers memory 2006-09-08 10:22:51 -07:00