In macb_taprio_setup_replace(), the value of start_time is being compared against zero which would never be true since start_time is an unsigned value. Due to this there is a chance that an incorrect config base time value can be used for computation. Fix by checking the value of conf->base_time directly. This issue was reported by static coverity analyzer. Fixes: 89934dbf169e3 ("net: macb: Add TAPRIO traffic scheduling support") Signed-off-by: Chandra Mohan Sundar --- drivers/net/ethernet/cadence/macb_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 290d67da704d..e9b262a0223f 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -4104,7 +4104,7 @@ static int macb_taprio_setup_replace(struct net_device *ndev, return -EINVAL; } - if (start_time < 0) { + if (conf->base_time < 0) { netdev_err(ndev, "Invalid base_time: must be 0 or positive, got %lld\n", conf->base_time); return -ERANGE; -- 2.43.0