diff --git a/block/bio.c b/block/bio.c index 811a96796202..190446a081a2 100644 --- a/block/bio.c +++ b/block/bio.c @@ -630,8 +630,7 @@ struct bio *bio_kmalloc(unsigned short nr_vecs, gfp_t gfp_mask) if (nr_vecs > BIO_MAX_INLINE_VECS) return NULL; - return kmalloc(sizeof(*bio) + nr_vecs * sizeof(struct bio_vec), - gfp_mask); + return kmalloc(struct_size(bio, bio_vec, nr_vecs), gfp_mask); } EXPORT_SYMBOL(bio_kmalloc);