]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
devlink: fix devlink flash error reporting
authorIvan Vecera <ivecera@redhat.com>
Wed, 22 Oct 2025 12:23:02 +0000 (14:23 +0200)
committerStephen Hemminger <stephen@networkplumber.org>
Thu, 30 Oct 2025 00:02:36 +0000 (17:02 -0700)
Currently, devlink silently exits when a non-existent device is specified
for flashing or when the user lacks sufficient permissions. This makes it
hard to diagnose the problem.

Print an appropriate error message in these cases to improve user feedback.

Prior:
$ devlink dev flash foo/bar file test
$ sudo devlink dev flash foo/bar file test
$

After patch:
$ devlink/devlink dev flash foo/bar file test
devlink answers: Operation not permitted
$ sudo devlink/devlink dev flash foo/bar file test
devlink answers: No such device

Fixes: 9b13cddfe268 ("devlink: implement flash status monitoring")
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
devlink/devlink.c

index 171b85327be34b9d90dc3c9c49cc98f8f34e61af..b162cf4050f9188dec06c69b1390f0db2b9259be 100644 (file)
@@ -4594,6 +4594,8 @@ static int cmd_dev_flash(struct dl *dl)
        } while (!ctx.flash_done || (ctx.not_first && !ctx.received_end));
 
        err = mnlu_gen_socket_recv_run(&dl->nlg, NULL, NULL);
+       if (err < 0)
+               pr_err("devlink answers: %s\n", strerror(errno));
 
 out:
        close(pipe_r);