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
..
2006-08-14 12:54:28 -07:00
2006-06-26 09:58:18 -07:00
2006-08-06 08:57:48 -07:00
2006-09-01 11:39:10 -07:00
2006-08-27 11:01:30 -07:00
2006-08-07 11:07:01 -07:00
2006-08-27 11:01:31 -07:00
2006-06-26 18:35:02 +02:00
2006-01-11 18:42:13 -08:00
2006-01-10 08:01:25 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-07-31 13:28:38 -07:00
2006-07-03 15:27:06 -07:00
2006-01-08 20:12:40 -08:00
2006-08-27 11:01:31 -07:00
2006-04-02 13:37:19 +02:00
2006-04-11 13:53:33 +02:00
2006-07-12 12:52:55 -07:00
2005-10-30 17:37:32 -08:00
2006-08-21 10:02:50 +02:00
2006-06-26 09:58:17 -07:00
2006-08-14 13:10:59 -07:00
2006-03-28 09:16:08 -08:00
2006-06-23 07:42:49 -07:00
2006-06-26 09:58:17 -07:00
2005-11-07 18:18:11 -08:00
2005-04-16 15:20:36 -07:00
2006-03-23 07:38:11 -08:00
2006-03-23 07:38:11 -08:00
2006-03-23 07:38:12 -08:00
2006-06-23 07:42:49 -07:00
2005-04-16 15:20:36 -07:00