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 <[email protected]>
Reviewed-by: Ira Weiny <[email protected]> > --- > 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 >

