Himangi Saraogi
2013-Nov-01 00:46 UTC
[PATCH] btrfs:check-integrity.c: replace kmalloc with kmalloc_array
This patch replaces kmalloc(size * nr, ) with kmalloc_array(nr, size)
as kmalloc_array() is preferred because it can check that the
calculation doesn''t wrap and won''t return a smaller
allocation.
Reviewed-by: Zach Brown <zab@redhat.com>
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
---
fs/btrfs/check-integrity.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c
index 1c47be1..d61ffef 100644
--- a/fs/btrfs/check-integrity.c
+++ b/fs/btrfs/check-integrity.c
@@ -3031,8 +3031,9 @@ void btrfsic_submit_bio(int rw, struct bio *bio)
(unsigned long long)bio->bi_sector, dev_bytenr,
bio->bi_bdev);
- mapped_datav = kmalloc(sizeof(*mapped_datav) * bio->bi_vcnt,
- GFP_NOFS);
+ mapped_datav = kmalloc_array(bio->bi_vcnt,
+ sizeof(*mapped_datav),
+ GFP_NOFS);
if (!mapped_datav)
goto leave;
for (i = 0; i < bio->bi_vcnt; i++) {
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Sterba
2013-Nov-06 17:37 UTC
Re: [PATCH] btrfs:check-integrity.c: replace kmalloc with kmalloc_array
On Fri, Nov 01, 2013 at 06:16:00AM +0530, Himangi Saraogi wrote:> This patch replaces kmalloc(size * nr, ) with kmalloc_array(nr, size) > as kmalloc_array() is preferred because it can check that the > calculation doesn''t wrap and won''t return a smaller allocation.Can you please convert all the instances in one patch? Feel free to use the following cocinelle script, that found ~16 places that could use the conversion. $ cat kmalloc_array.cocci @ @ expression E1, E2, E3; @@ * \(kmalloc\|kzalloc\)(E1 * E2, E3) --- The output is not a straight patch, the instances have to be reviewed manually because the order of nritems and size may differ at each location. david -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html