aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2024-04-19 19:08:26 -0700
committerPaolo Abeni <pabeni@redhat.com>2024-04-23 15:37:33 +0200
commita44f2eb106a46f2275a79de54ce0ea63e4f3d8c8 (patch)
treeff8fc7c15429a4e9fb04c1b578642e575c71d681 /tools
parent467324bcfe1a31ec65d0cf4aa59421d6b7a7d52b (diff)
downloadlinux-a44f2eb106a46f2275a79de54ce0ea63e4f3d8c8.tar.gz
tools: ynl: don't ignore errors in NLMSG_DONE messages
NLMSG_DONE contains an error code, it has to be extracted. Prior to this change all dumps will end in success, and in case of failure the result is silently truncated. Fixes: e4b48ed460d3 ("tools: ynl: add a completely generic client") Signed-off-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Donald Hunter <donald.hunter@gmail.com> Link: https://lore.kernel.org/r/20240420020827.3288615-1-kuba@kernel.org Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/net/ynl/lib/ynl.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/net/ynl/lib/ynl.py b/tools/net/ynl/lib/ynl.py
index 5fa7957f6e0f56..25810e18b0a732 100644
--- a/tools/net/ynl/lib/ynl.py
+++ b/tools/net/ynl/lib/ynl.py
@@ -182,6 +182,7 @@ class NlMsg:
self.done = 1
extack_off = 20
elif self.nl_type == Netlink.NLMSG_DONE:
+ self.error = struct.unpack("i", self.raw[0:4])[0]
self.done = 1
extack_off = 4