public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: passt-dev@passt.top, Stefano Brivio <sbrivio@redhat.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH 2/3] treewide: Make a bunch of pointer variables pointers to const
Date: Mon, 15 Jan 2024 17:39:43 +1100	[thread overview]
Message-ID: <20240115063944.1400285-3-david@gibson.dropbear.id.au> (raw)
In-Reply-To: <20240115063944.1400285-1-david@gibson.dropbear.id.au>

Sufficiently recent cppcheck (I'm using 2.13.0) seems to have added another
warning for pointer variables which could be pointer to const but aren't.
Use this to make a bunch of variables const pointers where they previously
weren't for no particular reason.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
 arch.c       |  3 ++-
 conf.c       | 12 +++++++-----
 dhcp.c       |  9 +++++----
 dhcpv6.c     |  9 +++++----
 log.c        |  6 ++++--
 qrap.c       |  4 ++--
 tap.c        | 12 ++++++------
 tcp.c        |  8 ++++----
 tcp_splice.c |  2 +-
 udp.c        |  6 +++---
 util.c       |  4 ++--
 11 files changed, 41 insertions(+), 34 deletions(-)

diff --git a/arch.c b/arch.c
index 012123c..80a41bc 100644
--- a/arch.c
+++ b/arch.c
@@ -25,7 +25,8 @@
 #ifdef __x86_64__
 void arch_avx2_exec(char **argv)
 {
-	char exe[PATH_MAX] = { 0 }, *p;
+	char exe[PATH_MAX] = { 0 };
+	const char *p;
 
 	if (readlink("/proc/self/exe", exe, PATH_MAX - 1) < 0) {
 		perror("readlink /proc/self/exe");
diff --git a/conf.c b/conf.c
index ad2a093..5e15b66 100644
--- a/conf.c
+++ b/conf.c
@@ -412,8 +412,9 @@ static void get_dns(struct ctx *c)
 	int dns4_set, dns6_set, dnss_set, dns_set, fd;
 	struct fqdn *s = c->dns_search;
 	struct lineread resolvconf;
+	char *line, *end;
+	const char *p;
 	int line_len;
-	char *line, *p, *end;
 
 	dns4_set = !c->ifi4 || !IN4_IS_ADDR_UNSPECIFIED(dns4);
 	dns6_set = !c->ifi6 || !IN6_IS_ADDR_UNSPECIFIED(dns6);
@@ -1025,7 +1026,7 @@ static int conf_runas(char *opt, unsigned int *uid, unsigned int *gid)
 	if (*endptr) {
 #ifndef GLIBC_NO_STATIC_NSS
 		/* Not numeric, look up as a username */
-		struct passwd *pw;
+		const struct passwd *pw;
 		/* cppcheck-suppress getpwnamCalled */
 		if (!(pw = getpwnam(uopt)) || !(*uid = pw->pw_uid))
 			return -ENOENT;
@@ -1042,7 +1043,7 @@ static int conf_runas(char *opt, unsigned int *uid, unsigned int *gid)
 	if (*endptr) {
 #ifndef GLIBC_NO_STATIC_NSS
 		/* Not numeric, look up as a group name */
-		struct group *gr;
+		const struct group *gr;
 		/* cppcheck-suppress getgrnamCalled */
 		if (!(gr = getgrnam(gopt)))
 			return -ENOENT;
@@ -1086,7 +1087,7 @@ static void conf_ugid(char *runas, uid_t *uid, gid_t *gid)
 	warn("Don't run as root. Changing to nobody...");
 	{
 #ifndef GLIBC_NO_STATIC_NSS
-		struct passwd *pw;
+		const struct passwd *pw;
 		/* cppcheck-suppress getpwnamCalled */
 		pw = getpwnam("nobody");
 		if (!pw) {
@@ -1173,14 +1174,15 @@ void conf(struct ctx *c, int argc, char **argv)
 	bool copy_addrs_opt = false, copy_routes_opt = false;
 	enum port_fwd_mode fwd_default = FWD_NONE;
 	bool v4_only = false, v6_only = false;
-	char *runas = NULL, *logfile = NULL;
 	struct in6_addr *dns6 = c->ip6.dns;
 	struct fqdn *dnss = c->dns_search;
 	struct in_addr *dns4 = c->ip4.dns;
 	unsigned int ifi4 = 0, ifi6 = 0;
+	const char *logfile = NULL;
 	const char *optstring;
 	int name, ret, b, i;
 	size_t logsize = 0;
+	char *runas = NULL;
 	uid_t uid;
 	gid_t gid;
 
diff --git a/dhcp.c b/dhcp.c
index 53b4029..1107728 100644
--- a/dhcp.c
+++ b/dhcp.c
@@ -275,10 +275,10 @@ static void opt_set_dns_search(const struct ctx *c, size_t max_len)
 int dhcp(const struct ctx *c, const struct pool *p)
 {
 	size_t mlen, len, offset = 0, opt_len, opt_off = 0;
+	const struct ethhdr *eh;
+	const struct iphdr *iph;
+	const struct udphdr *uh;
 	struct in_addr mask;
-	struct ethhdr *eh;
-	struct iphdr *iph;
-	struct udphdr *uh;
 	unsigned int i;
 	struct msg *m;
 
@@ -312,7 +312,8 @@ int dhcp(const struct ctx *c, const struct pool *p)
 	offset += offsetof(struct msg, o);
 
 	while (opt_off + 2 < opt_len) {
-		uint8_t *olen, *type, *val;
+		const uint8_t *olen, *val;
+		uint8_t *type;
 
 		type = packet_get(p, 0, offset + opt_off,	1,	NULL);
 		olen = packet_get(p, 0, offset + opt_off + 1,	1,	NULL);
diff --git a/dhcpv6.c b/dhcpv6.c
index 58171bb..7dcca2a 100644
--- a/dhcpv6.c
+++ b/dhcpv6.c
@@ -426,10 +426,11 @@ search:
 int dhcpv6(struct ctx *c, const struct pool *p,
 	   const struct in6_addr *saddr, const struct in6_addr *daddr)
 {
-	struct opt_hdr *ia, *bad_ia, *client_id, *server_id;
-	struct in6_addr *src;
-	struct msg_hdr *mh;
-	struct udphdr *uh;
+	struct opt_hdr *ia, *bad_ia, *client_id;
+	const struct opt_hdr *server_id;
+	const struct in6_addr *src;
+	const struct msg_hdr *mh;
+	const struct udphdr *uh;
 	size_t mlen, n;
 
 	uh = packet_get(p, 0, 0, sizeof(*uh), &mlen);
diff --git a/log.c b/log.c
index b206f72..f71d0e2 100644
--- a/log.c
+++ b/log.c
@@ -222,7 +222,8 @@ void logfile_init(const char *name, const char *path, size_t size)
  */
 static void logfile_rotate_fallocate(int fd, const struct timespec *ts)
 {
-	char buf[BUFSIZ], *nl;
+	char buf[BUFSIZ];
+	const char *nl;
 	int n;
 
 	if (lseek(fd, 0, SEEK_SET) == -1)
@@ -260,7 +261,8 @@ static void logfile_rotate_fallocate(int fd, const struct timespec *ts)
 static void logfile_rotate_move(int fd, const struct timespec *ts)
 {
 	int header_len, write_offset, end, discard, n;
-	char buf[BUFSIZ], *nl;
+	char buf[BUFSIZ];
+	const char *nl;
 
 	header_len = snprintf(buf, BUFSIZ,
 			      "%s - log truncated at %lli.%04lli\n", log_header,
diff --git a/qrap.c b/qrap.c
index 1e5a802..97f350a 100644
--- a/qrap.c
+++ b/qrap.c
@@ -251,8 +251,8 @@ int main(int argc, char **argv)
 		}
 
 		if (!strcmp(argv[i], "-device") && i + 1 < argc) {
-			char *template = NULL;
-			char *p;
+			const char *template = NULL;
+			const char *p;
 
 			has_dev = 1;
 
diff --git a/tap.c b/tap.c
index 2ceda8d..396dee7 100644
--- a/tap.c
+++ b/tap.c
@@ -600,10 +600,10 @@ static int tap4_handler(struct ctx *c, const struct pool *in,
 resume:
 	for (seq_count = 0, seq = NULL; i < in->count; i++) {
 		size_t l2_len, l3_len, hlen, l4_len;
-		struct ethhdr *eh;
+		const struct ethhdr *eh;
+		const struct udphdr *uh;
 		struct iphdr *iph;
-		struct udphdr *uh;
-		char *l4h;
+		const char *l4h;
 
 		packet_get(in, i, 0, 0, &l2_len);
 
@@ -765,9 +765,9 @@ resume:
 	for (seq_count = 0, seq = NULL; i < in->count; i++) {
 		size_t l4_len, plen, check;
 		struct in6_addr *saddr, *daddr;
+		const struct ethhdr *eh;
+		const struct udphdr *uh;
 		struct ipv6hdr *ip6h;
-		struct ethhdr *eh;
-		struct udphdr *uh;
 		uint8_t proto;
 		char *l4h;
 
@@ -936,7 +936,7 @@ static void tap_sock_reset(struct ctx *c)
 void tap_handler_passt(struct ctx *c, uint32_t events,
 		       const struct timespec *now)
 {
-	struct ethhdr *eh;
+	const struct ethhdr *eh;
 	ssize_t n, rem;
 	char *p;
 
diff --git a/tcp.c b/tcp.c
index 9515649..5b37662 100644
--- a/tcp.c
+++ b/tcp.c
@@ -2296,7 +2296,7 @@ static int tcp_data_from_tap(struct ctx *c, struct tcp_tap_conn *conn,
 
 	for (i = idx, iov_i = 0; i < (int)p->count; i++) {
 		uint32_t seq, seq_offset, ack_seq;
-		struct tcphdr *th;
+		const struct tcphdr *th;
 		char *data;
 		size_t off;
 
@@ -2517,10 +2517,10 @@ int tcp_tap_handler(struct ctx *c, uint8_t pif, int af,
 		    const struct pool *p, int idx, const struct timespec *now)
 {
 	struct tcp_tap_conn *conn;
+	const struct tcphdr *th;
 	size_t optlen, len;
-	struct tcphdr *th;
+	const char *opts;
 	int ack_due = 0;
-	char *opts;
 	int count;
 
 	(void)pif;
@@ -3038,7 +3038,7 @@ void tcp_ns_sock_init(const struct ctx *c, in_port_t port)
  */
 static int tcp_ns_socks_init(void *arg)
 {
-	struct ctx *c = (struct ctx *)arg;
+	const struct ctx *c = (const struct ctx *)arg;
 	unsigned port;
 
 	ns_enter(c);
diff --git a/tcp_splice.c b/tcp_splice.c
index 1655f8e..0e2e04c 100644
--- a/tcp_splice.c
+++ b/tcp_splice.c
@@ -127,7 +127,7 @@ static int tcp_splice_epoll_ctl(const struct ctx *c,
 				struct tcp_splice_conn *conn)
 {
 	int m = conn->in_epoll ? EPOLL_CTL_MOD : EPOLL_CTL_ADD;
-	union epoll_ref ref[SIDES] = {
+	const union epoll_ref ref[SIDES] = {
 		{ .type = EPOLL_TYPE_TCP, .fd = conn->s[0],
 		  .flowside = FLOW_SIDX(conn, 0) },
 		{ .type = EPOLL_TYPE_TCP, .fd = conn->s[1],
diff --git a/udp.c b/udp.c
index 7057977..252d353 100644
--- a/udp.c
+++ b/udp.c
@@ -821,10 +821,10 @@ int udp_tap_handler(struct ctx *c, uint8_t pif,
 	struct iovec m[UIO_MAXIOV];
 	struct sockaddr_in6 s_in6;
 	struct sockaddr_in s_in;
+	const struct udphdr *uh;
 	struct sockaddr *sa;
 	int i, s, count = 0;
 	in_port_t src, dst;
-	struct udphdr *uh;
 	socklen_t sl;
 
 	(void)c;
@@ -1045,7 +1045,7 @@ int udp_sock_init(const struct ctx *c, int ns, sa_family_t af,
  * udp_sock_init_init() - Bind sockets in init namespace for inbound connections
  * @c:		Execution context
  */
-static void udp_sock_init_init(struct ctx *c)
+static void udp_sock_init_init(const struct ctx *c)
 {
 	unsigned dst;
 
@@ -1065,7 +1065,7 @@ static void udp_sock_init_init(struct ctx *c)
  */
 int udp_sock_init_ns(void *arg)
 {
-	struct ctx *c = (struct ctx *)arg;
+	const struct ctx *c = (const struct ctx *)arg;
 	unsigned dst;
 
 	ns_enter(c);
diff --git a/util.c b/util.c
index d51f50f..21b35ff 100644
--- a/util.c
+++ b/util.c
@@ -48,8 +48,8 @@
 char *ipv6_l4hdr(const struct pool *p, int idx, size_t offset, uint8_t *proto,
 		 size_t *dlen)
 {
-	struct ipv6_opt_hdr *o;
-	struct ipv6hdr *ip6h;
+	const struct ipv6_opt_hdr *o;
+	const struct ipv6hdr *ip6h;
 	char *base;
 	int hdrlen;
 	uint8_t nh;
-- 
@@ -48,8 +48,8 @@
 char *ipv6_l4hdr(const struct pool *p, int idx, size_t offset, uint8_t *proto,
 		 size_t *dlen)
 {
-	struct ipv6_opt_hdr *o;
-	struct ipv6hdr *ip6h;
+	const struct ipv6_opt_hdr *o;
+	const struct ipv6hdr *ip6h;
 	char *base;
 	int hdrlen;
 	uint8_t nh;
-- 
2.43.0


  parent reply	other threads:[~2024-01-15  6:39 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-15  6:39 [PATCH 0/3] Assorted fixes David Gibson
2024-01-15  6:39 ` [PATCH 1/3] test: Fix passt.mbuto for cases where /usr/sbin doesn't exist David Gibson
2024-01-15  6:39 ` David Gibson [this message]
2024-01-15  6:39 ` [PATCH 3/3] pif: Remove unused pif_name() function David Gibson
2024-01-16 22:51 ` [PATCH 0/3] Assorted fixes Stefano Brivio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240115063944.1400285-3-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=passt-dev@passt.top \
    --cc=sbrivio@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).