Message ID | 7abcae42-6bc2-0653-69ea-5112943ff72e@users.sourceforge.net (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
On Wed, Mar 08, 2017 at 01:41:00PM +0100, SF Markus Elfring wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > Date: Tue, 7 Mar 2017 18:23:54 +0100 > > * Multiplications for the size determination of memory allocations > indicated that array data structures should be processed. > Thus reuse the corresponding function "kcalloc". > > This issue was detected by using the Coccinelle software. > > * Delete the local variable "pd_bitmap_size" which became unnecessary with > this refactoring. > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> > --- > drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c > index cbac41b15d94..d5a3127b6df8 100644 > --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c > +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c > @@ -1505,7 +1505,6 @@ int ocrdma_mbx_dealloc_pd(struct ocrdma_dev *dev, struct ocrdma_pd *pd) > static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev) > { > int status = -ENOMEM; > - size_t pd_bitmap_size; > struct ocrdma_alloc_pd_range *cmd; > struct ocrdma_alloc_pd_range_rsp *rsp; > > @@ -1527,10 +1526,10 @@ static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev) > dev->pd_mgr->pd_dpp_start = rsp->dpp_page_pdid & > OCRDMA_ALLOC_PD_RNG_RSP_START_PDID_MASK; > dev->pd_mgr->max_dpp_pd = rsp->pd_count; > - pd_bitmap_size = > - BITS_TO_LONGS(rsp->pd_count) * sizeof(long); > - dev->pd_mgr->pd_dpp_bitmap = kzalloc(pd_bitmap_size, > - GFP_KERNEL); > + dev->pd_mgr->pd_dpp_bitmap > + = kcalloc(BITS_TO_LONGS(rsp->pd_count), > + sizeof(long), > + GFP_KERNEL); kzalloc gives "clean" buffer. Just making sure that it is fine with you if the array is not "clean". (looking at _ocrdma_pd_mgr_get_bitmap i think it should). > } > kfree(cmd); > } > @@ -1546,9 +1545,10 @@ static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev) > dev->pd_mgr->pd_norm_start = rsp->dpp_page_pdid & > OCRDMA_ALLOC_PD_RNG_RSP_START_PDID_MASK; > dev->pd_mgr->max_normal_pd = rsp->pd_count; > - pd_bitmap_size = BITS_TO_LONGS(rsp->pd_count) * sizeof(long); > - dev->pd_mgr->pd_norm_bitmap = kzalloc(pd_bitmap_size, > - GFP_KERNEL); > + dev->pd_mgr->pd_norm_bitmap > + = kcalloc(BITS_TO_LONGS(rsp->pd_count), > + sizeof(long), > + GFP_KERNEL); > } > kfree(cmd); > > -- > 2.12.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2017-03-08 at 16:03 +0200, Yuval Shaia wrote: > On Wed, Mar 08, 2017 at 01:41:00PM +0100, SF Markus Elfring wrote: > > > > From: Markus Elfring <elfring@users.sourceforge.net> > > Date: Tue, 7 Mar 2017 18:23:54 +0100 > > > > * Multiplications for the size determination of memory allocations > > indicated that array data structures should be processed. > > Thus reuse the corresponding function "kcalloc". > > > > This issue was detected by using the Coccinelle software. > > > > * Delete the local variable "pd_bitmap_size" which became > > unnecessary with > > this refactoring. > > > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> > > --- > > drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 16 ++++++++-------- > > 1 file changed, 8 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c > > b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c > > index cbac41b15d94..d5a3127b6df8 100644 > > --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c > > +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c > > @@ -1505,7 +1505,6 @@ int ocrdma_mbx_dealloc_pd(struct ocrdma_dev > > *dev, struct ocrdma_pd *pd) > > static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev) > > { > > int status = -ENOMEM; > > - size_t pd_bitmap_size; > > struct ocrdma_alloc_pd_range *cmd; > > struct ocrdma_alloc_pd_range_rsp *rsp; > > > > @@ -1527,10 +1526,10 @@ static int ocrdma_mbx_alloc_pd_range(struct > > ocrdma_dev *dev) > > dev->pd_mgr->pd_dpp_start = rsp- > > >dpp_page_pdid & > > OCRDMA_ALLOC_PD_RNG_RSP_ST > > ART_PDID_MASK; > > dev->pd_mgr->max_dpp_pd = rsp->pd_count; > > - pd_bitmap_size = > > - BITS_TO_LONGS(rsp->pd_count) * > > sizeof(long); > > - dev->pd_mgr->pd_dpp_bitmap = > > kzalloc(pd_bitmap_size, > > - GFP_K > > ERNEL); > > + dev->pd_mgr->pd_dpp_bitmap > > + = kcalloc(BITS_TO_LONGS(rsp- > > >pd_count), > > + sizeof(lon > > g), > > + GFP_KERNEL > > ); > > kzalloc gives "clean" buffer. > Just making sure that it is fine with you if the array is not > "clean". > (looking at _ocrdma_pd_mgr_get_bitmap i think it should). kcalloc is documented to return memory set to 0. > > > > } > > kfree(cmd); > > } > > @@ -1546,9 +1545,10 @@ static int ocrdma_mbx_alloc_pd_range(struct > > ocrdma_dev *dev) > > dev->pd_mgr->pd_norm_start = rsp->dpp_page_pdid & > > OCRDMA_ALLOC_PD_RNG_RSP_ST > > ART_PDID_MASK; > > dev->pd_mgr->max_normal_pd = rsp->pd_count; > > - pd_bitmap_size = BITS_TO_LONGS(rsp->pd_count) * > > sizeof(long); > > - dev->pd_mgr->pd_norm_bitmap = > > kzalloc(pd_bitmap_size, > > - GFP_KERNEL); > > + dev->pd_mgr->pd_norm_bitmap > > + = kcalloc(BITS_TO_LONGS(rsp->pd_count), > > + sizeof(long), > > + GFP_KERNEL); > > } > > kfree(cmd); > > > > -- > > 2.12.0 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux- > > rdma" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c index cbac41b15d94..d5a3127b6df8 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c @@ -1505,7 +1505,6 @@ int ocrdma_mbx_dealloc_pd(struct ocrdma_dev *dev, struct ocrdma_pd *pd) static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev) { int status = -ENOMEM; - size_t pd_bitmap_size; struct ocrdma_alloc_pd_range *cmd; struct ocrdma_alloc_pd_range_rsp *rsp; @@ -1527,10 +1526,10 @@ static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev) dev->pd_mgr->pd_dpp_start = rsp->dpp_page_pdid & OCRDMA_ALLOC_PD_RNG_RSP_START_PDID_MASK; dev->pd_mgr->max_dpp_pd = rsp->pd_count; - pd_bitmap_size = - BITS_TO_LONGS(rsp->pd_count) * sizeof(long); - dev->pd_mgr->pd_dpp_bitmap = kzalloc(pd_bitmap_size, - GFP_KERNEL); + dev->pd_mgr->pd_dpp_bitmap + = kcalloc(BITS_TO_LONGS(rsp->pd_count), + sizeof(long), + GFP_KERNEL); } kfree(cmd); } @@ -1546,9 +1545,10 @@ static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev) dev->pd_mgr->pd_norm_start = rsp->dpp_page_pdid & OCRDMA_ALLOC_PD_RNG_RSP_START_PDID_MASK; dev->pd_mgr->max_normal_pd = rsp->pd_count; - pd_bitmap_size = BITS_TO_LONGS(rsp->pd_count) * sizeof(long); - dev->pd_mgr->pd_norm_bitmap = kzalloc(pd_bitmap_size, - GFP_KERNEL); + dev->pd_mgr->pd_norm_bitmap + = kcalloc(BITS_TO_LONGS(rsp->pd_count), + sizeof(long), + GFP_KERNEL); } kfree(cmd);