summaryrefslogtreecommitdiff
path: root/tools/net/ynl/generated/handshake-user.c
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2023-11-26 14:58:58 -0800
committerJakub Kicinski <kuba@kernel.org>2023-11-29 08:44:02 -0800
commit83f2df9d66bc9e1e0dbd5d5586a701088f6a1d42 (patch)
tree3822914732906cc8c7025f66e8ba09a925f1add7 /tools/net/ynl/generated/handshake-user.c
parentcbeb989e41f4094f54bec2cecce993f26f547bea (diff)
tools: ynl-gen: always construct struct ynl_req_state
struct ynl_req_state carries reply-related info from generated code into generic YNL code. While we don't need reply info to execute a request without a reply, we still need to pass in the struct, because it's also where we get the pointer to struct ynl_sock from. Passing NULL results in crashes if kernel returns an error or an unexpected reply. Fixes: dc0956c98f11 ("tools: ynl-gen: move the response reading logic into YNL") Link: https://lore.kernel.org/r/20231126225858.2144136-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/net/ynl/generated/handshake-user.c')
-rw-r--r--tools/net/ynl/generated/handshake-user.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/net/ynl/generated/handshake-user.c b/tools/net/ynl/generated/handshake-user.c
index 7c67765daf90..6901f8462cca 100644
--- a/tools/net/ynl/generated/handshake-user.c
+++ b/tools/net/ynl/generated/handshake-user.c
@@ -295,6 +295,7 @@ void handshake_done_req_free(struct handshake_done_req *req)
int handshake_done(struct ynl_sock *ys, struct handshake_done_req *req)
{
+ struct ynl_req_state yrs = { .yarg = { .ys = ys, }, };
struct nlmsghdr *nlh;
int err;
@@ -308,7 +309,7 @@ int handshake_done(struct ynl_sock *ys, struct handshake_done_req *req)
for (unsigned int i = 0; i < req->n_remote_auth; i++)
mnl_attr_put_u32(nlh, HANDSHAKE_A_DONE_REMOTE_AUTH, req->remote_auth[i]);
- err = ynl_exec(ys, nlh, NULL);
+ err = ynl_exec(ys, nlh, &yrs);
if (err < 0)
return -1;