diff options
author | Jakub Kicinski <[email protected]> | 2024-04-19 19:08:26 -0700 |
---|---|---|
committer | Paolo Abeni <[email protected]> | 2024-04-23 15:37:33 +0200 |
commit | a44f2eb106a46f2275a79de54ce0ea63e4f3d8c8 (patch) | |
tree | ff8fc7c15429a4e9fb04c1b578642e575c71d681 | |
parent | 467324bcfe1a31ec65d0cf4aa59421d6b7a7d52b (diff) |
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 <[email protected]>
Reviewed-by: Donald Hunter <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Abeni <[email protected]>
-rw-r--r-- | tools/net/ynl/lib/ynl.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/net/ynl/lib/ynl.py b/tools/net/ynl/lib/ynl.py index 5fa7957f6e0f..25810e18b0a7 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 |