net: sched: taprio: Fix potential integer overflow in taprio_set_picos_per_byte

The speed divisor is used in a context expecting an s64, but it is
evaluated using 32-bit arithmetic.

To avoid that happening, instead of multiplying by 1,000,000 in the
first place, simplify the fraction and do a standard 32 bit division

Fixes: f04b514c0ce2 ("taprio: Set default link speed to 10 Mbps in taprio_set_picos_per_byte")
Reported-by: Gustavo A. R. Silva <>
Suggested-by: Eric Dumazet <>
Signed-off-by: Vladimir Oltean <>
Acked-by: Vinicius Costa Gomes <>
Signed-off-by: David S. Miller <>
1 file changed