Re: [PATCH net v3 7/7] net/sched: netem: fix slot delay calculation overflow

Simon Horman
2026-04-04T09:51:33Z

On Thu, Apr 02, 2026 at 01:19:35PM -0700, Stephen Hemminger wrote:
> get_slot_next() computes a random delay between min_delay and
> max_delay using:
>
> get_random_u32() * (max_delay - min_delay) >> 32
>
> This overflows signed 64-bit arithmetic when the delay range exceeds
> approximately 2.1 seconds (2^31 nanoseconds), producing a negative
> result that effectively disables slot-based pacing. This is a
> realistic configuration for WAN emulation (e.g., slot 1s 5s).
>
> Use mul_u64_u32_shr() which handles the widening multiply without
> overflow.
>
> Fixes: 0a9fe5c375b5 ("netem: slotting with non-uniform distribution")
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

Reviewed-by: Simon Horman <horms@kernel.org>