netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] stmmac: fix potential division by 0
@ 2022-12-01  0:37 Piergiorgio Beruto
  2022-12-01  1:39 ` Andrew Lunn
  0 siblings, 1 reply; 11+ messages in thread
From: Piergiorgio Beruto @ 2022-12-01  0:37 UTC (permalink / raw)
  To: kuba, netdev; +Cc: peppe.cavallaro, andrew

Depending on the HW platform and configuration, the
stmmac_config_sub_second_increment() function may return 0 in the
sec_inc variable. Therefore, the subsequent div_u64 operation can Oops
the kernel because of the divisor being 0.

Signed-off-by: Piergiorgio Beruto <piergiorgio.beruto@gmail.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 23ec0a9e396c..6ed1704b638d 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -848,7 +848,7 @@ int stmmac_init_tstamp_counter(struct stmmac_priv *priv, u32 systime_flags)
 	stmmac_config_sub_second_increment(priv, priv->ptpaddr,
 					   priv->plat->clk_ptp_rate,
 					   xmac, &sec_inc);
-	temp = div_u64(1000000000ULL, sec_inc);
+	temp = div_u64(1000000000ULL, max_t(u32, sec_inc, 1));
 
 	/* Store sub second increment for later use */
 	priv->sub_second_inc = sec_inc;
-- 
2.35.1


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

end of thread, other threads:[~2022-12-10 10:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-01  0:37 [PATCH net] stmmac: fix potential division by 0 Piergiorgio Beruto
2022-12-01  1:39 ` Andrew Lunn
2022-12-01 10:24   ` Piergiorgio Beruto
2022-12-01 14:49     ` Andrew Lunn
2022-12-02  8:26       ` Piergiorgio Beruto
2022-12-07  2:28       ` Jakub Kicinski
2022-12-07 13:48         ` Andrew Lunn
2022-12-07 14:50           ` Kurt Kanzenbach
2022-12-08  0:26             ` Andrew Lunn
2022-12-08  9:27               ` Piergiorgio Beruto
2022-12-10 10:50                 ` Andrew Lunn

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).