* [PATCH v2 0/3] Fix some build warnings and errors for 32-bit and musl
@ 2023-11-30 10:07 Stefano Brivio
2023-11-30 10:07 ` [PATCH v2 1/3] treewide: Use 'z' length modifier for size_t/ssize_t conversions Stefano Brivio
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Stefano Brivio @ 2023-11-30 10:07 UTC (permalink / raw)
To: passt-dev; +Cc: David Gibson, lemmi
v2:
- In 1/3, use %zi as format specifier for to_write in
tcp_splice_sock_handler()
- Drop 3/4, David will deal with CONN_IDX() separately
Stefano Brivio (3):
treewide: Use 'z' length modifier for size_t/ssize_t conversions
packet: Offset plus length is not always uint32_t, but it's always
size_t
port_fwd, util: Include additional headers to fix build with musl
netlink.c | 2 +-
packet.c | 14 +++++++-------
pcap.c | 4 ++--
port_fwd.c | 2 ++
tap.c | 12 ++++++------
tcp.c | 3 ++-
tcp_splice.c | 8 ++++----
util.h | 1 +
8 files changed, 25 insertions(+), 21 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/3] treewide: Use 'z' length modifier for size_t/ssize_t conversions
2023-11-30 10:07 [PATCH v2 0/3] Fix some build warnings and errors for 32-bit and musl Stefano Brivio
@ 2023-11-30 10:07 ` Stefano Brivio
2023-12-01 0:01 ` David Gibson
2023-11-30 10:07 ` [PATCH v2 2/3] packet: Offset plus length is not always uint32_t, but it's always size_t Stefano Brivio
2023-11-30 10:07 ` [PATCH v2 3/3] port_fwd, util: Include additional headers to fix build with musl Stefano Brivio
2 siblings, 1 reply; 6+ messages in thread
From: Stefano Brivio @ 2023-11-30 10:07 UTC (permalink / raw)
To: passt-dev; +Cc: David Gibson, lemmi
Types size_t and ssize_t are not necessarily long, it depends on the
architecture.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
---
netlink.c | 2 +-
packet.c | 14 +++++++-------
pcap.c | 4 ++--
tap.c | 12 ++++++------
tcp.c | 3 ++-
tcp_splice.c | 8 ++++----
6 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/netlink.c b/netlink.c
index 6cc04a0..379d46e 100644
--- a/netlink.c
+++ b/netlink.c
@@ -130,7 +130,7 @@ static uint32_t nl_send(int s, void *req, uint16_t type,
if (n < 0)
die("netlink: Failed to send(): %s", strerror(errno));
else if (n < len)
- die("netlink: Short send (%lu of %lu bytes)", n, len);
+ die("netlink: Short send (%zd of %zd bytes)", n, len);
return nh->nlmsg_seq;
}
diff --git a/packet.c b/packet.c
index 9589824..12ac76b 100644
--- a/packet.c
+++ b/packet.c
@@ -36,7 +36,7 @@ void packet_add_do(struct pool *p, size_t len, const char *start,
size_t idx = p->count;
if (idx >= p->size) {
- trace("add packet index %lu to pool with size %lu, %s:%i",
+ trace("add packet index %zu to pool with size %zu, %s:%i",
idx, p->size, func, line);
return;
}
@@ -48,14 +48,14 @@ void packet_add_do(struct pool *p, size_t len, const char *start,
}
if (start + len > p->buf + p->buf_size) {
- trace("add packet start %p, length: %lu, buffer end %p, %s:%i",
+ trace("add packet start %p, length: %zu, buffer end %p, %s:%i",
(void *)start, len, (void *)(p->buf + p->buf_size),
func, line);
return;
}
if (len > UINT16_MAX) {
- trace("add packet length %lu, %s:%i", len, func, line);
+ trace("add packet length %zu, %s:%i", len, func, line);
return;
}
@@ -90,7 +90,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
{
if (idx >= p->size || idx >= p->count) {
if (func) {
- trace("packet %lu from pool size: %lu, count: %lu, "
+ trace("packet %zu from pool size: %zu, count: %zu, "
"%s:%i", idx, p->size, p->count, func, line);
}
return NULL;
@@ -98,7 +98,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
if (len > UINT16_MAX || len + offset > UINT32_MAX) {
if (func) {
- trace("packet data length %lu, offset %lu, %s:%i",
+ trace("packet data length %zu, offset %zu, %s:%i",
len, offset, func, line);
}
return NULL;
@@ -106,7 +106,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
if (p->pkt[idx].offset + len + offset > p->buf_size) {
if (func) {
- trace("packet offset plus length %lu from size %lu, "
+ trace("packet offset plus length %lu from size %zu, "
"%s:%i", p->pkt[idx].offset + len + offset,
p->buf_size, func, line);
}
@@ -115,7 +115,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
if (len + offset > p->pkt[idx].len) {
if (func) {
- trace("data length %lu, offset %lu from length %u, "
+ trace("data length %zu, offset %zu from length %u, "
"%s:%i", len, offset, p->pkt[idx].len,
func, line);
}
diff --git a/pcap.c b/pcap.c
index 524612a..501d52d 100644
--- a/pcap.c
+++ b/pcap.c
@@ -101,7 +101,7 @@ void pcap(const char *pkt, size_t len)
gettimeofday(&tv, NULL);
if (pcap_frame(pkt, len, &tv) != 0)
- debug("Cannot log packet, length %lu", len);
+ debug("Cannot log packet, length %zu", len);
}
/**
@@ -123,7 +123,7 @@ void pcap_multiple(const struct iovec *iov, unsigned int n, size_t offset)
for (i = 0; i < n; i++) {
if (pcap_frame((char *)iov[i].iov_base + offset,
iov[i].iov_len - offset, &tv) != 0) {
- debug("Cannot log packet, length %lu",
+ debug("Cannot log packet, length %zu",
iov->iov_len - offset);
return;
}
diff --git a/tap.c b/tap.c
index 4f11000..2ceda8d 100644
--- a/tap.c
+++ b/tap.c
@@ -191,7 +191,7 @@ void tap_udp4_send(const struct ctx *c, struct in_addr src, in_port_t sport,
memcpy(data, in, len);
if (tap_send(c, buf, len + (data - buf)) < 0)
- debug("tap: failed to send %lu bytes (IPv4)", len);
+ debug("tap: failed to send %zu bytes (IPv4)", len);
}
/**
@@ -214,7 +214,7 @@ void tap_icmp4_send(const struct ctx *c, struct in_addr src, struct in_addr dst,
csum_icmp4(icmp4h, icmp4h + 1, len - sizeof(*icmp4h));
if (tap_send(c, buf, len + (data - buf)) < 0)
- debug("tap: failed to send %lu bytes (IPv4)", len);
+ debug("tap: failed to send %zu bytes (IPv4)", len);
}
/**
@@ -278,7 +278,7 @@ void tap_udp6_send(const struct ctx *c,
memcpy(data, in, len);
if (tap_send(c, buf, len + (data - buf)) < 1)
- debug("tap: failed to send %lu bytes (IPv6)", len);
+ debug("tap: failed to send %zu bytes (IPv6)", len);
}
/**
@@ -302,7 +302,7 @@ void tap_icmp6_send(const struct ctx *c,
csum_icmp6(icmp6h, src, dst, icmp6h + 1, len - sizeof(*icmp6h));
if (tap_send(c, buf, len + (data - buf)) < 1)
- debug("tap: failed to send %lu bytes (IPv6)", len);
+ debug("tap: failed to send %zu bytes (IPv6)", len);
}
/**
@@ -364,7 +364,7 @@ static void tap_send_remainder(const struct ctx *c, const struct iovec *iov,
ssize_t sent = send(c->fd_tap, base + offset, len - offset,
MSG_NOSIGNAL);
if (sent < 0) {
- err("tap: partial frame send (missing %lu bytes): %s",
+ err("tap: partial frame send (missing %zu bytes): %s",
len - offset, strerror(errno));
return;
}
@@ -433,7 +433,7 @@ size_t tap_send_frames(const struct ctx *c, const struct iovec *iov, size_t n)
m = tap_send_frames_pasta(c, iov, n);
if (m < n)
- debug("tap: failed to send %lu frames of %lu", n - m, n);
+ debug("tap: failed to send %zu frames of %zu", n - m, n);
pcap_multiple(iov, m, c->mode == MODE_PASST ? sizeof(uint32_t) : 0);
diff --git a/tcp.c b/tcp.c
index 40e3dec..44468ca 100644
--- a/tcp.c
+++ b/tcp.c
@@ -2570,7 +2570,8 @@ int tcp_tap_handler(struct ctx *c, uint8_t pif, int af,
return 1;
}
- trace("TCP: packet length %lu from tap for index %lu", len, CONN_IDX(conn));
+ trace("TCP: packet length %zu from tap for index %lu",
+ len, CONN_IDX(conn));
if (th->rst) {
conn_event(c, conn, CLOSED);
diff --git a/tcp_splice.c b/tcp_splice.c
index a5c1332..0a23584 100644
--- a/tcp_splice.c
+++ b/tcp_splice.c
@@ -321,7 +321,7 @@ static int tcp_splice_connect_finish(const struct ctx *c,
if (fcntl(conn->pipe[side][0], F_SETPIPE_SZ,
c->tcp.pipe_size)) {
- trace("TCP (spliced): cannot set %d->%d pipe size to %lu",
+ trace("TCP (spliced): cannot set %d->%d pipe size to %zu",
side, !side, c->tcp.pipe_size);
}
}
@@ -554,7 +554,7 @@ retry:
readlen = splice(conn->s[fromside], NULL,
conn->pipe[fromside][1], NULL, c->tcp.pipe_size,
SPLICE_F_MOVE | SPLICE_F_NONBLOCK);
- trace("TCP (spliced): %li from read-side call", readlen);
+ trace("TCP (spliced): %zi from read-side call", readlen);
if (readlen < 0) {
if (errno == EINTR)
goto retry;
@@ -580,7 +580,7 @@ eintr:
written = splice(conn->pipe[fromside][0], NULL,
conn->s[!fromside], NULL, to_write,
SPLICE_F_MOVE | more | SPLICE_F_NONBLOCK);
- trace("TCP (spliced): %li from write-side call (passed %lu)",
+ trace("TCP (spliced): %zi from write-side call (passed %zi)",
written, to_write);
/* Most common case: skip updating counters. */
@@ -718,7 +718,7 @@ static void tcp_splice_pipe_refill(const struct ctx *c)
if (fcntl(splice_pipe_pool[i][0], F_SETPIPE_SZ,
c->tcp.pipe_size)) {
- trace("TCP (spliced): cannot set pool pipe size to %lu",
+ trace("TCP (spliced): cannot set pool pipe size to %zu",
c->tcp.pipe_size);
}
}
--
@@ -321,7 +321,7 @@ static int tcp_splice_connect_finish(const struct ctx *c,
if (fcntl(conn->pipe[side][0], F_SETPIPE_SZ,
c->tcp.pipe_size)) {
- trace("TCP (spliced): cannot set %d->%d pipe size to %lu",
+ trace("TCP (spliced): cannot set %d->%d pipe size to %zu",
side, !side, c->tcp.pipe_size);
}
}
@@ -554,7 +554,7 @@ retry:
readlen = splice(conn->s[fromside], NULL,
conn->pipe[fromside][1], NULL, c->tcp.pipe_size,
SPLICE_F_MOVE | SPLICE_F_NONBLOCK);
- trace("TCP (spliced): %li from read-side call", readlen);
+ trace("TCP (spliced): %zi from read-side call", readlen);
if (readlen < 0) {
if (errno == EINTR)
goto retry;
@@ -580,7 +580,7 @@ eintr:
written = splice(conn->pipe[fromside][0], NULL,
conn->s[!fromside], NULL, to_write,
SPLICE_F_MOVE | more | SPLICE_F_NONBLOCK);
- trace("TCP (spliced): %li from write-side call (passed %lu)",
+ trace("TCP (spliced): %zi from write-side call (passed %zi)",
written, to_write);
/* Most common case: skip updating counters. */
@@ -718,7 +718,7 @@ static void tcp_splice_pipe_refill(const struct ctx *c)
if (fcntl(splice_pipe_pool[i][0], F_SETPIPE_SZ,
c->tcp.pipe_size)) {
- trace("TCP (spliced): cannot set pool pipe size to %lu",
+ trace("TCP (spliced): cannot set pool pipe size to %zu",
c->tcp.pipe_size);
}
}
--
2.39.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/3] packet: Offset plus length is not always uint32_t, but it's always size_t
2023-11-30 10:07 [PATCH v2 0/3] Fix some build warnings and errors for 32-bit and musl Stefano Brivio
2023-11-30 10:07 ` [PATCH v2 1/3] treewide: Use 'z' length modifier for size_t/ssize_t conversions Stefano Brivio
@ 2023-11-30 10:07 ` Stefano Brivio
2023-12-01 0:02 ` David Gibson
2023-11-30 10:07 ` [PATCH v2 3/3] port_fwd, util: Include additional headers to fix build with musl Stefano Brivio
2 siblings, 1 reply; 6+ messages in thread
From: Stefano Brivio @ 2023-11-30 10:07 UTC (permalink / raw)
To: passt-dev; +Cc: David Gibson, lemmi
According to gcc, PRIu32 matches the type of the argument we're
printing here on both 64 and 32-bits architectures. According to
Clang, though, that's not the case, as the result of the sum is an
unsigned long on 64-bit.
Use the z modifier, given that we're summing uint32_t to size_t, and
the result is at most promoted to size_t.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
---
packet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packet.c b/packet.c
index 12ac76b..ccfc846 100644
--- a/packet.c
+++ b/packet.c
@@ -106,7 +106,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
if (p->pkt[idx].offset + len + offset > p->buf_size) {
if (func) {
- trace("packet offset plus length %lu from size %zu, "
+ trace("packet offset plus length %zu from size %zu, "
"%s:%i", p->pkt[idx].offset + len + offset,
p->buf_size, func, line);
}
--
@@ -106,7 +106,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
if (p->pkt[idx].offset + len + offset > p->buf_size) {
if (func) {
- trace("packet offset plus length %lu from size %zu, "
+ trace("packet offset plus length %zu from size %zu, "
"%s:%i", p->pkt[idx].offset + len + offset,
p->buf_size, func, line);
}
--
2.39.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 3/3] port_fwd, util: Include additional headers to fix build with musl
2023-11-30 10:07 [PATCH v2 0/3] Fix some build warnings and errors for 32-bit and musl Stefano Brivio
2023-11-30 10:07 ` [PATCH v2 1/3] treewide: Use 'z' length modifier for size_t/ssize_t conversions Stefano Brivio
2023-11-30 10:07 ` [PATCH v2 2/3] packet: Offset plus length is not always uint32_t, but it's always size_t Stefano Brivio
@ 2023-11-30 10:07 ` Stefano Brivio
2 siblings, 0 replies; 6+ messages in thread
From: Stefano Brivio @ 2023-11-30 10:07 UTC (permalink / raw)
To: passt-dev; +Cc: David Gibson, lemmi
lseek() is declared in unistd.h, and stdio.h provides sscanf().
Include these two headers in port_fwd.c.
SIGCHLD, even if used exclusively for clone(), is defined in
signal.h: add the include to util.h, as NS_CALL needs it.
Reported-by: lemmi <lemmi@nerd2nerd.org>
Link: https://github.com/void-linux/void-packages/actions/runs/6999782606/job/19039526604#step:7:57
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
---
port_fwd.c | 2 ++
util.h | 1 +
2 files changed, 3 insertions(+)
diff --git a/port_fwd.c b/port_fwd.c
index 7943a30..6f6c836 100644
--- a/port_fwd.c
+++ b/port_fwd.c
@@ -17,6 +17,8 @@
#include <errno.h>
#include <fcntl.h>
#include <sched.h>
+#include <unistd.h>
+#include <stdio.h>
#include "util.h"
#include "port_fwd.h"
diff --git a/util.h b/util.h
index 1f02588..86f1a7e 100644
--- a/util.h
+++ b/util.h
@@ -10,6 +10,7 @@
#include <stdarg.h>
#include <stdbool.h>
#include <string.h>
+#include <signal.h>
#include "log.h"
--
@@ -10,6 +10,7 @@
#include <stdarg.h>
#include <stdbool.h>
#include <string.h>
+#include <signal.h>
#include "log.h"
--
2.39.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/3] treewide: Use 'z' length modifier for size_t/ssize_t conversions
2023-11-30 10:07 ` [PATCH v2 1/3] treewide: Use 'z' length modifier for size_t/ssize_t conversions Stefano Brivio
@ 2023-12-01 0:01 ` David Gibson
0 siblings, 0 replies; 6+ messages in thread
From: David Gibson @ 2023-12-01 0:01 UTC (permalink / raw)
To: Stefano Brivio; +Cc: passt-dev, lemmi
[-- Attachment #1: Type: text/plain, Size: 8631 bytes --]
On Thu, Nov 30, 2023 at 11:07:24AM +0100, Stefano Brivio wrote:
> Types size_t and ssize_t are not necessarily long, it depends on the
> architecture.
>
> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> ---
> netlink.c | 2 +-
> packet.c | 14 +++++++-------
> pcap.c | 4 ++--
> tap.c | 12 ++++++------
> tcp.c | 3 ++-
> tcp_splice.c | 8 ++++----
> 6 files changed, 22 insertions(+), 21 deletions(-)
>
> diff --git a/netlink.c b/netlink.c
> index 6cc04a0..379d46e 100644
> --- a/netlink.c
> +++ b/netlink.c
> @@ -130,7 +130,7 @@ static uint32_t nl_send(int s, void *req, uint16_t type,
> if (n < 0)
> die("netlink: Failed to send(): %s", strerror(errno));
> else if (n < len)
> - die("netlink: Short send (%lu of %lu bytes)", n, len);
> + die("netlink: Short send (%zd of %zd bytes)", n, len);
>
> return nh->nlmsg_seq;
> }
> diff --git a/packet.c b/packet.c
> index 9589824..12ac76b 100644
> --- a/packet.c
> +++ b/packet.c
> @@ -36,7 +36,7 @@ void packet_add_do(struct pool *p, size_t len, const char *start,
> size_t idx = p->count;
>
> if (idx >= p->size) {
> - trace("add packet index %lu to pool with size %lu, %s:%i",
> + trace("add packet index %zu to pool with size %zu, %s:%i",
> idx, p->size, func, line);
> return;
> }
> @@ -48,14 +48,14 @@ void packet_add_do(struct pool *p, size_t len, const char *start,
> }
>
> if (start + len > p->buf + p->buf_size) {
> - trace("add packet start %p, length: %lu, buffer end %p, %s:%i",
> + trace("add packet start %p, length: %zu, buffer end %p, %s:%i",
> (void *)start, len, (void *)(p->buf + p->buf_size),
> func, line);
> return;
> }
>
> if (len > UINT16_MAX) {
> - trace("add packet length %lu, %s:%i", len, func, line);
> + trace("add packet length %zu, %s:%i", len, func, line);
> return;
> }
>
> @@ -90,7 +90,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
> {
> if (idx >= p->size || idx >= p->count) {
> if (func) {
> - trace("packet %lu from pool size: %lu, count: %lu, "
> + trace("packet %zu from pool size: %zu, count: %zu, "
> "%s:%i", idx, p->size, p->count, func, line);
> }
> return NULL;
> @@ -98,7 +98,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
>
> if (len > UINT16_MAX || len + offset > UINT32_MAX) {
> if (func) {
> - trace("packet data length %lu, offset %lu, %s:%i",
> + trace("packet data length %zu, offset %zu, %s:%i",
> len, offset, func, line);
> }
> return NULL;
> @@ -106,7 +106,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
>
> if (p->pkt[idx].offset + len + offset > p->buf_size) {
> if (func) {
> - trace("packet offset plus length %lu from size %lu, "
> + trace("packet offset plus length %lu from size %zu, "
> "%s:%i", p->pkt[idx].offset + len + offset,
> p->buf_size, func, line);
> }
> @@ -115,7 +115,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
>
> if (len + offset > p->pkt[idx].len) {
> if (func) {
> - trace("data length %lu, offset %lu from length %u, "
> + trace("data length %zu, offset %zu from length %u, "
> "%s:%i", len, offset, p->pkt[idx].len,
> func, line);
> }
> diff --git a/pcap.c b/pcap.c
> index 524612a..501d52d 100644
> --- a/pcap.c
> +++ b/pcap.c
> @@ -101,7 +101,7 @@ void pcap(const char *pkt, size_t len)
>
> gettimeofday(&tv, NULL);
> if (pcap_frame(pkt, len, &tv) != 0)
> - debug("Cannot log packet, length %lu", len);
> + debug("Cannot log packet, length %zu", len);
> }
>
> /**
> @@ -123,7 +123,7 @@ void pcap_multiple(const struct iovec *iov, unsigned int n, size_t offset)
> for (i = 0; i < n; i++) {
> if (pcap_frame((char *)iov[i].iov_base + offset,
> iov[i].iov_len - offset, &tv) != 0) {
> - debug("Cannot log packet, length %lu",
> + debug("Cannot log packet, length %zu",
> iov->iov_len - offset);
> return;
> }
> diff --git a/tap.c b/tap.c
> index 4f11000..2ceda8d 100644
> --- a/tap.c
> +++ b/tap.c
> @@ -191,7 +191,7 @@ void tap_udp4_send(const struct ctx *c, struct in_addr src, in_port_t sport,
> memcpy(data, in, len);
>
> if (tap_send(c, buf, len + (data - buf)) < 0)
> - debug("tap: failed to send %lu bytes (IPv4)", len);
> + debug("tap: failed to send %zu bytes (IPv4)", len);
> }
>
> /**
> @@ -214,7 +214,7 @@ void tap_icmp4_send(const struct ctx *c, struct in_addr src, struct in_addr dst,
> csum_icmp4(icmp4h, icmp4h + 1, len - sizeof(*icmp4h));
>
> if (tap_send(c, buf, len + (data - buf)) < 0)
> - debug("tap: failed to send %lu bytes (IPv4)", len);
> + debug("tap: failed to send %zu bytes (IPv4)", len);
> }
>
> /**
> @@ -278,7 +278,7 @@ void tap_udp6_send(const struct ctx *c,
> memcpy(data, in, len);
>
> if (tap_send(c, buf, len + (data - buf)) < 1)
> - debug("tap: failed to send %lu bytes (IPv6)", len);
> + debug("tap: failed to send %zu bytes (IPv6)", len);
> }
>
> /**
> @@ -302,7 +302,7 @@ void tap_icmp6_send(const struct ctx *c,
> csum_icmp6(icmp6h, src, dst, icmp6h + 1, len - sizeof(*icmp6h));
>
> if (tap_send(c, buf, len + (data - buf)) < 1)
> - debug("tap: failed to send %lu bytes (IPv6)", len);
> + debug("tap: failed to send %zu bytes (IPv6)", len);
> }
>
> /**
> @@ -364,7 +364,7 @@ static void tap_send_remainder(const struct ctx *c, const struct iovec *iov,
> ssize_t sent = send(c->fd_tap, base + offset, len - offset,
> MSG_NOSIGNAL);
> if (sent < 0) {
> - err("tap: partial frame send (missing %lu bytes): %s",
> + err("tap: partial frame send (missing %zu bytes): %s",
> len - offset, strerror(errno));
> return;
> }
> @@ -433,7 +433,7 @@ size_t tap_send_frames(const struct ctx *c, const struct iovec *iov, size_t n)
> m = tap_send_frames_pasta(c, iov, n);
>
> if (m < n)
> - debug("tap: failed to send %lu frames of %lu", n - m, n);
> + debug("tap: failed to send %zu frames of %zu", n - m, n);
>
> pcap_multiple(iov, m, c->mode == MODE_PASST ? sizeof(uint32_t) : 0);
>
> diff --git a/tcp.c b/tcp.c
> index 40e3dec..44468ca 100644
> --- a/tcp.c
> +++ b/tcp.c
> @@ -2570,7 +2570,8 @@ int tcp_tap_handler(struct ctx *c, uint8_t pif, int af,
> return 1;
> }
>
> - trace("TCP: packet length %lu from tap for index %lu", len, CONN_IDX(conn));
> + trace("TCP: packet length %zu from tap for index %lu",
> + len, CONN_IDX(conn));
>
> if (th->rst) {
> conn_event(c, conn, CLOSED);
> diff --git a/tcp_splice.c b/tcp_splice.c
> index a5c1332..0a23584 100644
> --- a/tcp_splice.c
> +++ b/tcp_splice.c
> @@ -321,7 +321,7 @@ static int tcp_splice_connect_finish(const struct ctx *c,
>
> if (fcntl(conn->pipe[side][0], F_SETPIPE_SZ,
> c->tcp.pipe_size)) {
> - trace("TCP (spliced): cannot set %d->%d pipe size to %lu",
> + trace("TCP (spliced): cannot set %d->%d pipe size to %zu",
> side, !side, c->tcp.pipe_size);
> }
> }
> @@ -554,7 +554,7 @@ retry:
> readlen = splice(conn->s[fromside], NULL,
> conn->pipe[fromside][1], NULL, c->tcp.pipe_size,
> SPLICE_F_MOVE | SPLICE_F_NONBLOCK);
> - trace("TCP (spliced): %li from read-side call", readlen);
> + trace("TCP (spliced): %zi from read-side call", readlen);
> if (readlen < 0) {
> if (errno == EINTR)
> goto retry;
> @@ -580,7 +580,7 @@ eintr:
> written = splice(conn->pipe[fromside][0], NULL,
> conn->s[!fromside], NULL, to_write,
> SPLICE_F_MOVE | more | SPLICE_F_NONBLOCK);
> - trace("TCP (spliced): %li from write-side call (passed %lu)",
> + trace("TCP (spliced): %zi from write-side call (passed %zi)",
> written, to_write);
>
> /* Most common case: skip updating counters. */
> @@ -718,7 +718,7 @@ static void tcp_splice_pipe_refill(const struct ctx *c)
>
> if (fcntl(splice_pipe_pool[i][0], F_SETPIPE_SZ,
> c->tcp.pipe_size)) {
> - trace("TCP (spliced): cannot set pool pipe size to %lu",
> + trace("TCP (spliced): cannot set pool pipe size to %zu",
> c->tcp.pipe_size);
> }
> }
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/3] packet: Offset plus length is not always uint32_t, but it's always size_t
2023-11-30 10:07 ` [PATCH v2 2/3] packet: Offset plus length is not always uint32_t, but it's always size_t Stefano Brivio
@ 2023-12-01 0:02 ` David Gibson
0 siblings, 0 replies; 6+ messages in thread
From: David Gibson @ 2023-12-01 0:02 UTC (permalink / raw)
To: Stefano Brivio; +Cc: passt-dev, lemmi
[-- Attachment #1: Type: text/plain, Size: 1321 bytes --]
On Thu, Nov 30, 2023 at 11:07:25AM +0100, Stefano Brivio wrote:
> According to gcc, PRIu32 matches the type of the argument we're
> printing here on both 64 and 32-bits architectures. According to
> Clang, though, that's not the case, as the result of the sum is an
> unsigned long on 64-bit.
>
> Use the z modifier, given that we're summing uint32_t to size_t, and
> the result is at most promoted to size_t.
>
> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> ---
> packet.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/packet.c b/packet.c
> index 12ac76b..ccfc846 100644
> --- a/packet.c
> +++ b/packet.c
> @@ -106,7 +106,7 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
>
> if (p->pkt[idx].offset + len + offset > p->buf_size) {
> if (func) {
> - trace("packet offset plus length %lu from size %zu, "
> + trace("packet offset plus length %zu from size %zu, "
> "%s:%i", p->pkt[idx].offset + len + offset,
> p->buf_size, func, line);
> }
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-12-01 0:02 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-30 10:07 [PATCH v2 0/3] Fix some build warnings and errors for 32-bit and musl Stefano Brivio
2023-11-30 10:07 ` [PATCH v2 1/3] treewide: Use 'z' length modifier for size_t/ssize_t conversions Stefano Brivio
2023-12-01 0:01 ` David Gibson
2023-11-30 10:07 ` [PATCH v2 2/3] packet: Offset plus length is not always uint32_t, but it's always size_t Stefano Brivio
2023-12-01 0:02 ` David Gibson
2023-11-30 10:07 ` [PATCH v2 3/3] port_fwd, util: Include additional headers to fix build with musl Stefano Brivio
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).