diff options
-rw-r--r-- | fs/afs/dir.c | 3 | ||||
-rw-r--r-- | fs/afs/file.c | 6 | ||||
-rw-r--r-- | fs/afs/write.c | 3 |
3 files changed, 4 insertions, 8 deletions
diff --git a/fs/afs/dir.c b/fs/afs/dir.c index e8c58c94eb61..5dff607a08f9 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -242,8 +242,7 @@ retry: if (nr_inline > (PAGE_SIZE - sizeof(*req)) / sizeof(struct page *)) nr_inline = 0; - req = kzalloc(sizeof(*req) + sizeof(struct page *) * nr_inline, - GFP_KERNEL); + req = kzalloc(struct_size(req, array, nr_inline), GFP_KERNEL); if (!req) return ERR_PTR(-ENOMEM); diff --git a/fs/afs/file.c b/fs/afs/file.c index 11e69c5fb7ab..67cd782a1c64 100644 --- a/fs/afs/file.c +++ b/fs/afs/file.c @@ -314,8 +314,7 @@ int afs_page_filler(void *data, struct page *page) /* fall through */ default: go_on: - req = kzalloc(sizeof(struct afs_read) + sizeof(struct page *), - GFP_KERNEL); + req = kzalloc(struct_size(req, array, 1), GFP_KERNEL); if (!req) goto enomem; @@ -465,8 +464,7 @@ static int afs_readpages_one(struct file *file, struct address_space *mapping, n++; } - req = kzalloc(sizeof(struct afs_read) + sizeof(struct page *) * n, - GFP_NOFS); + req = kzalloc(struct_size(req, array, n), GFP_NOFS); if (!req) return -ENOMEM; diff --git a/fs/afs/write.c b/fs/afs/write.c index 8bcab95f1127..9cea9c40a4ef 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c @@ -48,8 +48,7 @@ static int afs_fill_page(struct afs_vnode *vnode, struct key *key, return 0; } - req = kzalloc(sizeof(struct afs_read) + sizeof(struct page *), - GFP_KERNEL); + req = kzalloc(struct_size(req, array, 1), GFP_KERNEL); if (!req) return -ENOMEM; |