From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by passt.top (Postfix, from userid 1000) id D463D5A0641; Sat, 15 Feb 2025 06:15:53 +0100 (CET) From: Stefano Brivio To: passt-dev@passt.top Subject: [PATCH] repair, passt-repair: Build and warning fixes for musl Date: Sat, 15 Feb 2025 06:15:53 +0100 Message-ID: <20250215051553.2942968-1-sbrivio@redhat.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: H6ERP6QZWWIK73CW63QFAQVAP32DRWBK X-Message-ID-Hash: H6ERP6QZWWIK73CW63QFAQVAP32DRWBK X-MailFrom: sbrivio@passt.top X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Checked against musl 1.2.5. Signed-off-by: Stefano Brivio --- passt-repair.c | 4 +++- repair.c | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/passt-repair.c b/passt-repair.c index 1174ae3..e0c366e 100644 --- a/passt-repair.c +++ b/passt-repair.c @@ -63,6 +63,7 @@ int main(int argc, char **argv) struct cmsghdr *cmsg; struct msghdr msg; struct iovec iov; + size_t cmsg_len; int op; prctl(PR_SET_DUMPABLE, 0); @@ -138,8 +139,9 @@ loop: } } if (!n) { + cmsg_len = cmsg->cmsg_len; /* socklen_t is 'unsigned' on musl */ fprintf(stderr, "Invalid ancillary data length %zu from peer\n", - cmsg->cmsg_len); + cmsg_len); _exit(1); } diff --git a/repair.c b/repair.c index d288617..64f18b7 100644 --- a/repair.c +++ b/repair.c @@ -13,6 +13,7 @@ */ #include +#include #include #include "util.h" @@ -155,8 +156,11 @@ int repair_flush(struct ctx *c) if (!repair_nfds) return 0; - msg = (struct msghdr){ NULL, 0, &iov, 1, - buf, CMSG_SPACE(sizeof(int) * repair_nfds), 0 }; + msg = (struct msghdr){ .msg_name = NULL, .msg_namelen = 0, + .msg_iov = &iov, .msg_iovlen = 1, + .msg_control = buf, + .msg_controllen = sizeof(buf), + .msg_flags = 0 }; cmsg = CMSG_FIRSTHDR(&msg); cmsg->cmsg_level = SOL_SOCKET; -- 2.43.0