Re: [PATCH 1/2] scsi: qedf: Replace kmalloc_array() with kcalloc()

From: Greg KH
Date: Thu Feb 06 2025 - 09:29:06 EST


On Thu, Feb 06, 2025 at 06:36:58AM +0100, Greg KH wrote:
> On Thu, Feb 06, 2025 at 05:25:22AM +0000, Jiasheng Jiang wrote:
> > Replace kmalloc_array() with kcalloc() to avoid old (dirty) data being
> > used/freed.
>
> Used/freed where?
>
> >
> > Fixes: 61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.")
> > Cc: <stable@xxxxxxxxxxxxxxx> # v5.10+
> > Signed-off-by: Jiasheng Jiang <jiashengjiangcool@xxxxxxxxx>
> > ---
> > drivers/scsi/qedf/qedf_io.c | 4 +---
> > 1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/drivers/scsi/qedf/qedf_io.c b/drivers/scsi/qedf/qedf_io.c
> > index fcfc3bed02c6..d52057b97a4f 100644
> > --- a/drivers/scsi/qedf/qedf_io.c
> > +++ b/drivers/scsi/qedf/qedf_io.c
> > @@ -254,9 +254,7 @@ struct qedf_cmd_mgr *qedf_cmd_mgr_alloc(struct qedf_ctx *qedf)
> > }
> >
> > /* Allocate pool of io_bdts - one for each qedf_ioreq */
> > - cmgr->io_bdt_pool = kmalloc_array(num_ios, sizeof(struct io_bdt *),
> > - GFP_KERNEL);
> > -
> > + cmgr->io_bdt_pool = kcalloc(num_ios, sizeof(*cmgr->io_bdt_pool), GFP_KERNEL);
>
> This is just an array that is then properly all initialized a few lines
> below this.
>
> So why does this need to be zeroed out at all?

Oh, I think I figured it out, but your text for the changelog is wrong,
and needs to be fixed to properly describe what is going on here.

thanks,

greg k-h