From: Peter Seiderer Date: Wed, 19 Feb 2025 08:45:24 +0000 (+0100) Subject: net: pktgen: fix 'rate 0' error handling (return -EINVAL) X-Git-Tag: v6.15-rc1~160^2~261^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3ba38c25a8c03b77ed448220a6c93dd5552a264e;p=thirdparty%2Fkernel%2Flinux.git net: pktgen: fix 'rate 0' error handling (return -EINVAL) Given an invalid 'rate' command e.g. 'rate 0' the return value is '1', leading to the following misleading output: - the good case $ echo "rate 100" > /proc/net/pktgen/lo\@0 $ grep "Result:" /proc/net/pktgen/lo\@0 Result: OK: rate=100 - the bad case (before the patch) $ echo "rate 0" > /proc/net/pktgen/lo\@0" -bash: echo: write error: Invalid argument $ grep "Result:" /proc/net/pktgen/lo\@0 Result: No such parameter "ate" - with patch applied $ echo "rate 0" > /proc/net/pktgen/lo\@0 -bash: echo: write error: Invalid argument $ grep "Result:" /proc/net/pktgen/lo\@0 Result: Idle Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman Link: https://patch.msgid.link/20250219084527.20488-5-ps.report@gmx.net Signed-off-by: Jakub Kicinski --- diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 28dbbf70e1424..75c7511bf492e 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -1115,7 +1115,7 @@ static ssize_t pktgen_if_write(struct file *file, i += len; if (!value) - return len; + return -EINVAL; pkt_dev->delay = pkt_dev->min_pkt_size*8*NSEC_PER_USEC/value; if (debug) pr_info("Delay set at: %llu ns\n", pkt_dev->delay);