* [PATCH] scsi: cxlflash: change kzalloc to kcalloc
@ 2025-01-20 16:53 Ethan Carter Edwards
2025-01-20 17:16 ` Johannes Thumshirn
0 siblings, 1 reply; 2+ messages in thread
From: Ethan Carter Edwards @ 2025-01-20 16:53 UTC (permalink / raw)
To: manoj
Cc: linux-hardening, kernel-hardening, Ethan Carter Edwards,
Uma Krishnan, James E.J. Bottomley, Martin K. Petersen,
Arnd Bergmann, Al Viro, linux-scsi, linux-kernel
We are replacing any instances of kzalloc(size * count, ...) with
kcalloc(count, size, ...) due to risk of overflow [1].
[1] https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
Link: https://github.com/KSPP/linux/issues/162
Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
---
drivers/scsi/cxlflash/superpipe.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/cxlflash/superpipe.c b/drivers/scsi/cxlflash/superpipe.c
index b375509d1470..fc26e62e0dbf 100644
--- a/drivers/scsi/cxlflash/superpipe.c
+++ b/drivers/scsi/cxlflash/superpipe.c
@@ -785,8 +785,8 @@ static struct ctx_info *create_context(struct cxlflash_cfg *cfg)
struct sisl_rht_entry *rhte;
ctxi = kzalloc(sizeof(*ctxi), GFP_KERNEL);
- lli = kzalloc((MAX_RHT_PER_CONTEXT * sizeof(*lli)), GFP_KERNEL);
- ws = kzalloc((MAX_RHT_PER_CONTEXT * sizeof(*ws)), GFP_KERNEL);
+ lli = kcalloc(MAX_RHT_PER_CONTEXT, sizeof(*lli), GFP_KERNEL);
+ ws = kcalloc(MAX_RHT_PER_CONTEXT, sizeof(*ws), GFP_KERNEL);
if (unlikely(!ctxi || !lli || !ws)) {
dev_err(dev, "%s: Unable to allocate context\n", __func__);
goto err;
--
2.48.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] scsi: cxlflash: change kzalloc to kcalloc
2025-01-20 16:53 [PATCH] scsi: cxlflash: change kzalloc to kcalloc Ethan Carter Edwards
@ 2025-01-20 17:16 ` Johannes Thumshirn
0 siblings, 0 replies; 2+ messages in thread
From: Johannes Thumshirn @ 2025-01-20 17:16 UTC (permalink / raw)
To: Ethan Carter Edwards, manoj@linux.ibm.com
Cc: linux-hardening@vger.kernel.org,
kernel-hardening@lists.openwall.com, Uma Krishnan,
James E.J. Bottomley, Martin K. Petersen, Arnd Bergmann, Al Viro,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
On 20.01.25 17:55, Ethan Carter Edwards wrote:
> We are replacing any instances of kzalloc(size * count, ...) with
> kcalloc(count, size, ...) due to risk of overflow [1].
>
> [1] https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
>
> Link: https://github.com/KSPP/linux/issues/162
> Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
> ---
> drivers/scsi/cxlflash/superpipe.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/cxlflash/superpipe.c b/drivers/scsi/cxlflash/superpipe.c
> index b375509d1470..fc26e62e0dbf 100644
> --- a/drivers/scsi/cxlflash/superpipe.c
> +++ b/drivers/scsi/cxlflash/superpipe.c
> @@ -785,8 +785,8 @@ static struct ctx_info *create_context(struct cxlflash_cfg *cfg)
> struct sisl_rht_entry *rhte;
>
> ctxi = kzalloc(sizeof(*ctxi), GFP_KERNEL);
> - lli = kzalloc((MAX_RHT_PER_CONTEXT * sizeof(*lli)), GFP_KERNEL);
> - ws = kzalloc((MAX_RHT_PER_CONTEXT * sizeof(*ws)), GFP_KERNEL);
> + lli = kcalloc(MAX_RHT_PER_CONTEXT, sizeof(*lli), GFP_KERNEL);
> + ws = kcalloc(MAX_RHT_PER_CONTEXT, sizeof(*ws), GFP_KERNEL);
> if (unlikely(!ctxi || !lli || !ws)) {
> dev_err(dev, "%s: Unable to allocate context\n", __func__);
> goto err;
JFYI, that driver is deprecated and scheduled for removal by it's maintainers:
https://lore.kernel.org/linux-scsi/20241210054055.144813-3-ajd@linux.ibm.com/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-01-20 17:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-20 16:53 [PATCH] scsi: cxlflash: change kzalloc to kcalloc Ethan Carter Edwards
2025-01-20 17:16 ` Johannes Thumshirn
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox