linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] bnx2: remove deadcode in bnx2_init_cpus()
@ 2023-02-19 15:22 Maxim Korotkov
  2023-02-20  8:31 ` Leon Romanovsky
  2023-02-21  9:38 ` Paolo Abeni
  0 siblings, 2 replies; 4+ messages in thread
From: Maxim Korotkov @ 2023-02-19 15:22 UTC (permalink / raw)
  To: Rasesh Mody
  Cc: Maxim Korotkov, GR-Linux-NIC-Dev, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Michael Chan, Vadim Fedorenko,
	netdev, linux-kernel, lvc-project

The load_cpu_fw function has no error return code
and always returns zero. Checking the value returned by
this function does not make sense.
As a result, bnx2_init_cpus() will also return only zero
Therefore, it will be safe to change the type of functions
to void and remove checking

Found by Security Code and Linux Verification
Center (linuxtesting.org) with SVACE

Fixes: 57579f7629a3 ("bnx2: Use request_firmware()")
Signed-off-by: Maxim Korotkov <korotkov.maxim.s@gmail.com>
---
changes v2:
- bnx2_init_cpu_fw() and bnx2_init_cpus() are void
- delete casts to void
- remove check of bnx2_init_cpus() in bnx2_init_chip()

 drivers/net/ethernet/broadcom/bnx2.c | 31 +++++++---------------------
 1 file changed, 8 insertions(+), 23 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
index 9f473854b0f4..19b053c879b0 100644
--- a/drivers/net/ethernet/broadcom/bnx2.c
+++ b/drivers/net/ethernet/broadcom/bnx2.c
@@ -3829,7 +3829,7 @@ load_rv2p_fw(struct bnx2 *bp, u32 rv2p_proc,
 	return 0;
 }
 
-static int
+static void
 load_cpu_fw(struct bnx2 *bp, const struct cpu_reg *cpu_reg,
 	    const struct bnx2_mips_fw_file_entry *fw_entry)
 {
@@ -3897,48 +3897,34 @@ load_cpu_fw(struct bnx2 *bp, const struct cpu_reg *cpu_reg,
 	val &= ~cpu_reg->mode_value_halt;
 	bnx2_reg_wr_ind(bp, cpu_reg->state, cpu_reg->state_value_clear);
 	bnx2_reg_wr_ind(bp, cpu_reg->mode, val);
-
-	return 0;
 }
 
-static int
+static void
 bnx2_init_cpus(struct bnx2 *bp)
 {
 	const struct bnx2_mips_fw_file *mips_fw =
 		(const struct bnx2_mips_fw_file *) bp->mips_firmware->data;
 	const struct bnx2_rv2p_fw_file *rv2p_fw =
 		(const struct bnx2_rv2p_fw_file *) bp->rv2p_firmware->data;
-	int rc;
 
 	/* Initialize the RV2P processor. */
 	load_rv2p_fw(bp, RV2P_PROC1, &rv2p_fw->proc1);
 	load_rv2p_fw(bp, RV2P_PROC2, &rv2p_fw->proc2);
 
 	/* Initialize the RX Processor. */
-	rc = load_cpu_fw(bp, &cpu_reg_rxp, &mips_fw->rxp);
-	if (rc)
-		goto init_cpu_err;
+	load_cpu_fw(bp, &cpu_reg_rxp, &mips_fw->rxp);
 
 	/* Initialize the TX Processor. */
-	rc = load_cpu_fw(bp, &cpu_reg_txp, &mips_fw->txp);
-	if (rc)
-		goto init_cpu_err;
+	load_cpu_fw(bp, &cpu_reg_txp, &mips_fw->txp);
 
 	/* Initialize the TX Patch-up Processor. */
-	rc = load_cpu_fw(bp, &cpu_reg_tpat, &mips_fw->tpat);
-	if (rc)
-		goto init_cpu_err;
+	load_cpu_fw(bp, &cpu_reg_tpat, &mips_fw->tpat);
 
 	/* Initialize the Completion Processor. */
-	rc = load_cpu_fw(bp, &cpu_reg_com, &mips_fw->com);
-	if (rc)
-		goto init_cpu_err;
+	load_cpu_fw(bp, &cpu_reg_com, &mips_fw->com);
 
 	/* Initialize the Command Processor. */
-	rc = load_cpu_fw(bp, &cpu_reg_cp, &mips_fw->cp);
-
-init_cpu_err:
-	return rc;
+	load_cpu_fw(bp, &cpu_reg_cp, &mips_fw->cp);
 }
 
 static void
@@ -4951,8 +4937,7 @@ bnx2_init_chip(struct bnx2 *bp)
 	} else
 		bnx2_init_context(bp);
 
-	if ((rc = bnx2_init_cpus(bp)) != 0)
-		return rc;
+	bnx2_init_cpus(bp);
 
 	bnx2_init_nvram(bp);
 
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] bnx2: remove deadcode in bnx2_init_cpus()
  2023-02-19 15:22 [PATCH v2] bnx2: remove deadcode in bnx2_init_cpus() Maxim Korotkov
@ 2023-02-20  8:31 ` Leon Romanovsky
  2023-02-20 16:30   ` Vadim Fedorenko
  2023-02-21  9:38 ` Paolo Abeni
  1 sibling, 1 reply; 4+ messages in thread
From: Leon Romanovsky @ 2023-02-20  8:31 UTC (permalink / raw)
  To: Maxim Korotkov
  Cc: Rasesh Mody, GR-Linux-NIC-Dev, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Michael Chan, Vadim Fedorenko,
	netdev, linux-kernel, lvc-project

On Sun, Feb 19, 2023 at 06:22:25PM +0300, Maxim Korotkov wrote:
> The load_cpu_fw function has no error return code
> and always returns zero. Checking the value returned by
> this function does not make sense.
> As a result, bnx2_init_cpus() will also return only zero
> Therefore, it will be safe to change the type of functions
> to void and remove checking
> 
> Found by Security Code and Linux Verification
> Center (linuxtesting.org) with SVACE
> 
> Fixes: 57579f7629a3 ("bnx2: Use request_firmware()")
> Signed-off-by: Maxim Korotkov <korotkov.maxim.s@gmail.com>
> ---
> changes v2:
> - bnx2_init_cpu_fw() and bnx2_init_cpus() are void
> - delete casts to void
> - remove check of bnx2_init_cpus() in bnx2_init_chip()
> 

Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] bnx2: remove deadcode in bnx2_init_cpus()
  2023-02-20  8:31 ` Leon Romanovsky
@ 2023-02-20 16:30   ` Vadim Fedorenko
  0 siblings, 0 replies; 4+ messages in thread
From: Vadim Fedorenko @ 2023-02-20 16:30 UTC (permalink / raw)
  To: Leon Romanovsky, Maxim Korotkov
  Cc: Rasesh Mody, GR-Linux-NIC-Dev, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Michael Chan, netdev, linux-kernel,
	lvc-project

On 20/02/2023 08:31, Leon Romanovsky wrote:
> On Sun, Feb 19, 2023 at 06:22:25PM +0300, Maxim Korotkov wrote:
>> The load_cpu_fw function has no error return code
>> and always returns zero. Checking the value returned by
>> this function does not make sense.
>> As a result, bnx2_init_cpus() will also return only zero
>> Therefore, it will be safe to change the type of functions
>> to void and remove checking
>>
>> Found by Security Code and Linux Verification
>> Center (linuxtesting.org) with SVACE
>>
>> Fixes: 57579f7629a3 ("bnx2: Use request_firmware()")
>> Signed-off-by: Maxim Korotkov <korotkov.maxim.s@gmail.com>
>> ---
>> changes v2:
>> - bnx2_init_cpu_fw() and bnx2_init_cpus() are void
>> - delete casts to void
>> - remove check of bnx2_init_cpus() in bnx2_init_chip()
>>
> 
> Thanks,
> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>

Not sure if it should go to -net, because it doesn't actually fix any
bug, more like refactoring which goes to -next, I believe.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] bnx2: remove deadcode in bnx2_init_cpus()
  2023-02-19 15:22 [PATCH v2] bnx2: remove deadcode in bnx2_init_cpus() Maxim Korotkov
  2023-02-20  8:31 ` Leon Romanovsky
@ 2023-02-21  9:38 ` Paolo Abeni
  1 sibling, 0 replies; 4+ messages in thread
From: Paolo Abeni @ 2023-02-21  9:38 UTC (permalink / raw)
  To: Maxim Korotkov, Rasesh Mody
  Cc: GR-Linux-NIC-Dev, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Michael Chan, Vadim Fedorenko, netdev, linux-kernel, lvc-project

On Sun, 2023-02-19 at 18:22 +0300, Maxim Korotkov wrote:
> The load_cpu_fw function has no error return code
> and always returns zero. Checking the value returned by
> this function does not make sense.
> As a result, bnx2_init_cpus() will also return only zero
> Therefore, it will be safe to change the type of functions
> to void and remove checking
> 
> Found by Security Code and Linux Verification
> Center (linuxtesting.org) with SVACE
> 
> Fixes: 57579f7629a3 ("bnx2: Use request_firmware()")
> Signed-off-by: Maxim Korotkov <korotkov.maxim.s@gmail.com>

I agree with Vadim, this looks like net-next material.

The net-next tree is currently closed. Please re-post when net-next re-
opens, in ~2 weeks, with the Fixes tag stripped.

Thanks!

Paolo


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-02-21  9:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-19 15:22 [PATCH v2] bnx2: remove deadcode in bnx2_init_cpus() Maxim Korotkov
2023-02-20  8:31 ` Leon Romanovsky
2023-02-20 16:30   ` Vadim Fedorenko
2023-02-21  9:38 ` Paolo Abeni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).