Message ID | 20210928223307.GA295934@embeddedor (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [next] xfs: Use kvcalloc() instead of kvzalloc() | expand |
On Tue, Sep 28, 2021 at 05:33:07PM -0500, Gustavo A. R. Silva wrote: > Use 2-factor argument multiplication form kvcalloc() instead of > kvzalloc(). > > Link: https://github.com/KSPP/linux/issues/162 > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Oooh, fun, checks for multiplication overflows. Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > fs/xfs/xfs_ioctl.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c > index 0c795dc093ef..174cd8950cb6 100644 > --- a/fs/xfs/xfs_ioctl.c > +++ b/fs/xfs/xfs_ioctl.c > @@ -1547,7 +1547,7 @@ xfs_ioc_getbmap( > if (bmx.bmv_count > ULONG_MAX / recsize) > return -ENOMEM; > > - buf = kvzalloc(bmx.bmv_count * sizeof(*buf), GFP_KERNEL); > + buf = kvcalloc(bmx.bmv_count, sizeof(*buf), GFP_KERNEL); > if (!buf) > return -ENOMEM; > > @@ -1601,11 +1601,11 @@ xfs_ioc_getfsmap( > */ > count = min_t(unsigned int, head.fmh_count, > 131072 / sizeof(struct fsmap)); > - recs = kvzalloc(count * sizeof(struct fsmap), GFP_KERNEL); > + recs = kvcalloc(count, sizeof(struct fsmap), GFP_KERNEL); > if (!recs) { > count = min_t(unsigned int, head.fmh_count, > PAGE_SIZE / sizeof(struct fsmap)); > - recs = kvzalloc(count * sizeof(struct fsmap), GFP_KERNEL); > + recs = kvcalloc(count, sizeof(struct fsmap), GFP_KERNEL); > if (!recs) > return -ENOMEM; > } > -- > 2.27.0 >
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 0c795dc093ef..174cd8950cb6 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1547,7 +1547,7 @@ xfs_ioc_getbmap( if (bmx.bmv_count > ULONG_MAX / recsize) return -ENOMEM; - buf = kvzalloc(bmx.bmv_count * sizeof(*buf), GFP_KERNEL); + buf = kvcalloc(bmx.bmv_count, sizeof(*buf), GFP_KERNEL); if (!buf) return -ENOMEM; @@ -1601,11 +1601,11 @@ xfs_ioc_getfsmap( */ count = min_t(unsigned int, head.fmh_count, 131072 / sizeof(struct fsmap)); - recs = kvzalloc(count * sizeof(struct fsmap), GFP_KERNEL); + recs = kvcalloc(count, sizeof(struct fsmap), GFP_KERNEL); if (!recs) { count = min_t(unsigned int, head.fmh_count, PAGE_SIZE / sizeof(struct fsmap)); - recs = kvzalloc(count * sizeof(struct fsmap), GFP_KERNEL); + recs = kvcalloc(count, sizeof(struct fsmap), GFP_KERNEL); if (!recs) return -ENOMEM; }
Use 2-factor argument multiplication form kvcalloc() instead of kvzalloc(). Link: https://github.com/KSPP/linux/issues/162 Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> --- fs/xfs/xfs_ioctl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)