NFS: Fix a buffer overflow in the allocation of struct nfs_read/writedata
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
@@ -455,7 +455,7 @@ nfs_have_writebacks(struct inode *inode)
|
||||
/*
|
||||
* Allocate nfs_write_data structures
|
||||
*/
|
||||
extern struct nfs_write_data *nfs_writedata_alloc(size_t len);
|
||||
extern struct nfs_write_data *nfs_writedata_alloc(unsigned int npages);
|
||||
|
||||
/*
|
||||
* linux/fs/nfs/read.c
|
||||
@@ -469,7 +469,7 @@ extern void nfs_readdata_release(void *data);
|
||||
/*
|
||||
* Allocate nfs_read_data structures
|
||||
*/
|
||||
extern struct nfs_read_data *nfs_readdata_alloc(size_t len);
|
||||
extern struct nfs_read_data *nfs_readdata_alloc(unsigned int npages);
|
||||
|
||||
/*
|
||||
* linux/fs/nfs3proc.c
|
||||
|
||||
@@ -55,7 +55,7 @@ struct nfs_pageio_descriptor {
|
||||
unsigned int pg_base;
|
||||
|
||||
struct inode *pg_inode;
|
||||
int (*pg_doio)(struct inode *, struct list_head *, size_t, int);
|
||||
int (*pg_doio)(struct inode *, struct list_head *, unsigned int, size_t, int);
|
||||
int pg_ioflags;
|
||||
int pg_error;
|
||||
};
|
||||
@@ -75,7 +75,7 @@ extern int nfs_scan_list(struct nfs_inode *nfsi, struct list_head *head, struct
|
||||
unsigned long idx_start, unsigned int npages);
|
||||
extern void nfs_pageio_init(struct nfs_pageio_descriptor *desc,
|
||||
struct inode *inode,
|
||||
int (*doio)(struct inode *, struct list_head *, size_t, int),
|
||||
int (*doio)(struct inode *, struct list_head *, unsigned int, size_t, int),
|
||||
size_t bsize,
|
||||
int how);
|
||||
extern int nfs_pageio_add_request(struct nfs_pageio_descriptor *,
|
||||
|
||||
Reference in New Issue
Block a user