Message ID | 20250206192000.17827-1-jiashengjiangcool@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2,1/2] scsi: qedf: Replace kmalloc_array() with kcalloc() | expand |
On Thu, Feb 06, 2025 at 07:19:59PM +0000, Jiasheng Jiang wrote: > Replace kmalloc_array() with kcalloc() to avoid old (dirty) data being > used/freed. "Potentially" being freed. It will not be used. And this is only for an error path that obviously no one has hit before. Please explain this much better. thanks, greg k-h
Hi Greg, On Fri, Feb 7, 2025 at 10:10 AM Greg KH <gregkh@linuxfoundation.org> wrote: > > On Thu, Feb 06, 2025 at 07:19:59PM +0000, Jiasheng Jiang wrote: > > Replace kmalloc_array() with kcalloc() to avoid old (dirty) data being > > used/freed. > > "Potentially" being freed. It will not be used. And this is only for > an error path that obviously no one has hit before. > > Please explain this much better. > > thanks, > > greg k-h Thanks, I have submitted a v3 and added "potentially" in the commit message. -Jiasheng
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); if (!cmgr->io_bdt_pool) { QEDF_WARN(&(qedf->dbg_ctx), "Failed to alloc io_bdt_pool.\n"); goto mem_err;
Replace kmalloc_array() with kcalloc() to avoid old (dirty) data being used/freed. Fixes: 61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.") Cc: <stable@vger.kernel.org> # v5.10+ Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com> --- Changlog: v1 -> v2: 1. Replace kzalloc() with kcalloc() to not reintroduce the possibility of multiplication overflow. --- drivers/scsi/qedf/qedf_io.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)