Message ID | 20200619172112.GA31702@embeddedor (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] nvdimm/region: Use struct_size() in kzalloc() | expand |
On Fri, Jun 19, 2020 at 12:21:12PM -0500, Gustavo A. R. Silva wrote: > Make use of the struct_size() helper instead of an open-coded version > in order to avoid any potential type mistakes. > > This issue was found with the help of Coccinelle and, audited and fixed > manually. > > Addresses-KSPP-ID: https://github.com/KSPP/linux/issues/83 > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Ira Weiny <ira.weiny@intel.com> > --- > drivers/nvdimm/region_devs.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c > index 4502f9c4708d..8365fb1a9114 100644 > --- a/drivers/nvdimm/region_devs.c > +++ b/drivers/nvdimm/region_devs.c > @@ -1063,8 +1063,7 @@ static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus, > struct nd_blk_region *ndbr; > > ndbr_desc = to_blk_region_desc(ndr_desc); > - ndbr = kzalloc(sizeof(*ndbr) + sizeof(struct nd_mapping) > - * ndr_desc->num_mappings, > + ndbr = kzalloc(struct_size(ndbr, nd_region.mapping, ndr_desc->num_mappings), > GFP_KERNEL); > if (ndbr) { > nd_region = &ndbr->nd_region; > -- > 2.27.0 >
diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c index 4502f9c4708d..8365fb1a9114 100644 --- a/drivers/nvdimm/region_devs.c +++ b/drivers/nvdimm/region_devs.c @@ -1063,8 +1063,7 @@ static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus, struct nd_blk_region *ndbr; ndbr_desc = to_blk_region_desc(ndr_desc); - ndbr = kzalloc(sizeof(*ndbr) + sizeof(struct nd_mapping) - * ndr_desc->num_mappings, + ndbr = kzalloc(struct_size(ndbr, nd_region.mapping, ndr_desc->num_mappings), GFP_KERNEL); if (ndbr) { nd_region = &ndbr->nd_region;
Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes. This issue was found with the help of Coccinelle and, audited and fixed manually. Addresses-KSPP-ID: https://github.com/KSPP/linux/issues/83 Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> --- drivers/nvdimm/region_devs.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)