From 124b60ec3e4253341a39b2385aa559453f0cbfa9 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 24 Feb 2021 15:31:12 +0100 Subject: [PATCH] commands: extend rsp_one_fd() to also handle additional data Signed-off-by: Christian Brauner --- src/lxc/commands.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lxc/commands.c b/src/lxc/commands.c index 95d676ed7..15d6221e9 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -298,12 +298,18 @@ static inline int lxc_cmd_rsp_send_keep(int fd, struct lxc_cmd_rsp *rsp) static inline int rsp_one_fd(int fd, int fd_send, struct lxc_cmd_rsp *rsp) { - int ret; + ssize_t ret; ret = lxc_abstract_unix_send_fds(fd, &fd_send, 1, rsp, sizeof(*rsp)); if (ret < 0) return ret; + if (rsp->data && rsp->datalen > 0) { + ret = lxc_send_nointr(fd, rsp->data, rsp->datalen, MSG_NOSIGNAL); + if (ret < 0 || ret != (ssize_t)rsp->datalen) + return syswarn(-errno, "Failed to send command response %zd", ret); + } + return LXC_CMD_REAP_CLIENT_FD; } -- 2.47.2