From nobody Mon Feb 2 21:20:36 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4f4ffX2y36z6QXrR for ; Mon, 02 Feb 2026 21:20:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f4ffX1rnSz479b for ; Mon, 02 Feb 2026 21:20:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770067236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=quvrJPELMRYrAxXP51f8kWsnYOg3NQ8zm++xBK6FUO4=; b=xSXOdj2VI5bSJzUaLeDJU8YsJ0178TB23tsOG903z22KERqrjlzFcsZkDlRXhTBkuPoQmt i5p4+LlRtrqACP2Aa++XW5RgHWeAUZlE8SA/dmfRwvsnxxpU9qwXCwO3P5j0r9/ad6bqU2 CRzf7R/Oz+d7MRkVaJdVeQ5DnP2ec6WAHrhMPPZeFeNZA90CQ1tfBE0FQRxb+3mN26nCQi MUhKsBsgUdCz91nn8+gFxnkxkTKCHHVR3YMwvrxNxuS/2RRL+zWAd285Qvtk/yXwdLLIUT UTJ1aWfvwUB+GEcL0v2EVJvR/+izkOIHWsHAENUDCOTnojynwlO0l1uODsy+aA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770067236; a=rsa-sha256; cv=none; b=bmabzx58hnikY+J9iFH3nwCRjF9pRnAnSVLVqIz6fPL9DMPdoJ/yDGQxWMRKNtC5MP05pk uJ6B/JoHae1sDyFqwtIXluamk1gSbIxdR/WZ+a1Mfk0gRNcFqRM66+jM5drzmyMYwmxg0P 2OpvNEyRoIYA6FaZhh/IT5A6OK4prog8o9ycvV7nGwK95GUGDvbXYvBUofPQXk5p1THlVl rGfHpOZX5Q1QdKcKIkAxEofgtlti+nwcG6+aFIBtCm4izAOnfOrIzMCbg+EVhSROTtwePz sj9FFbENIhFA/cMk0mhwY88emCzskxcWtIWRqKnOefwjioe393XKrn2UNgO7hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770067236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=quvrJPELMRYrAxXP51f8kWsnYOg3NQ8zm++xBK6FUO4=; b=j/mYRQhyUDjMfh5CUNUrj/q5I9jfQStKDzy45FhZmlE/E1IOli0sN2FbKudyH29gPng2qM CLPyIe2xk38t4ncEfmrZDMVNaUC0jOW0q/uYNw15QjCti0/qJUkLR8xFE76fsTTj8Rfr6L UxRDG9abSLW4DYcSA+IzLPSur32sgM1K6f0sKV4LsH+Lk7UFCo3V6WKRY/V+O7FevJYAx8 E/qSD2lUyNxxzq9oIKx/dVJKvqgdss4JPAvFKtirt7o3ZqkTLyVje/NvNIY9Yhp60ObItJ Vqwn5tyd7Sqb3/hgqeenl813IFNQwj9CXbZJJFLOdSF/Ke4ImRlQxKrRBSgz5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f4ffX180czkGn for ; Mon, 02 Feb 2026 21:20:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4057c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Feb 2026 21:20:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 18d47c1856f4 - main - rpc: correct resultproc_t's type List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 18d47c1856f4ec3f7a2f9a726bba2ebe64d63dd7 Auto-Submitted: auto-generated Date: Mon, 02 Feb 2026 21:20:36 +0000 Message-Id: <69811524.4057c.2aae73fb@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=18d47c1856f4ec3f7a2f9a726bba2ebe64d63dd7 commit 18d47c1856f4ec3f7a2f9a726bba2ebe64d63dd7 Author: Brooks Davis AuthorDate: 2026-02-02 21:20:16 +0000 Commit: Brooks Davis CommitDate: 2026-02-02 21:20:16 +0000 rpc: correct resultproc_t's type It takes exactly three arguments of known type. Tweak the types of various resultproc_t functions to match the type (mostly added const to struct pointers) allowing us to drop casts. Effort: CHERI upstreaming Reviewed by: vangyzen, glebius Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D54941 --- contrib/netbsd-tests/lib/libc/rpc/t_rpc.c | 5 +++-- include/rpc/clnt.h | 3 ++- lib/libc/rpc/rpc_soc.c | 8 +++++--- usr.bin/rpcinfo/rpcinfo.c | 8 +++++--- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c b/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c index 3000f6aec98b..2737151826bf 100644 --- a/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c +++ b/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c @@ -39,7 +39,8 @@ __RCSID("$NetBSD: t_rpc.c,v 1.10 2016/08/27 14:36:22 christos Exp $"); #define RPCBPROC_NULL 0 static int -reply(caddr_t replyp, struct netbuf * raddrp, struct netconfig * nconf) +reply(caddr_t replyp, const struct netbuf * raddrp, + const struct netconfig * nconf) { char host[NI_MAXHOST]; struct sockaddr *sock = raddrp->buf; @@ -244,7 +245,7 @@ allhosts(const char *transp) clnt_stat = rpc_broadcast(RPCBPROG, RPCBVERS, RPCBPROC_NULL, (xdrproc_t)xdr_void, NULL, (xdrproc_t)xdr_void, - NULL, (resultproc_t)reply, transp); + NULL, reply, transp); if (clnt_stat != RPC_SUCCESS && clnt_stat != RPC_TIMEDOUT) ERRX(EXIT_FAILURE, "%s", clnt_sperrno(clnt_stat)); } diff --git a/include/rpc/clnt.h b/include/rpc/clnt.h index eb5e1f5b350f..d7b3e2beb8c0 100644 --- a/include/rpc/clnt.h +++ b/include/rpc/clnt.h @@ -514,7 +514,8 @@ __END_DECLS * const char *nettype; -- Transport type */ -typedef bool_t (*resultproc_t)(caddr_t, ...); +typedef bool_t (*resultproc_t)(caddr_t, const struct netbuf *, + const struct netconfig *); __BEGIN_DECLS extern enum clnt_stat rpc_broadcast(const rpcprog_t, const rpcvers_t, diff --git a/lib/libc/rpc/rpc_soc.c b/lib/libc/rpc/rpc_soc.c index e986593badf4..24a19624d366 100644 --- a/lib/libc/rpc/rpc_soc.c +++ b/lib/libc/rpc/rpc_soc.c @@ -72,7 +72,8 @@ static CLIENT *clnt_com_create(struct sockaddr_in *, rpcprog_t, rpcvers_t, int *, u_int, u_int, char *); static SVCXPRT *svc_com_create(int, u_int, u_int, char *); -static bool_t rpc_wrap_bcast(char *, struct netbuf *, struct netconfig *); +static bool_t rpc_wrap_bcast(char *, const struct netbuf *, + const struct netconfig *); /* XXX */ #define IN4_LOCALHOST_STRING "127.0.0.1" @@ -318,7 +319,8 @@ static _Thread_local clnt_broadcast_resultproc_t clnt_broadcast_result; */ /* ARGSUSED */ static bool_t -rpc_wrap_bcast(char *resultp, struct netbuf *addr, struct netconfig *nconf) +rpc_wrap_bcast(char *resultp, const struct netbuf *addr, + const struct netconfig *nconf) /* * char *resultp; // results of the call * struct netbuf *addr; // address of the guy who responded @@ -355,7 +357,7 @@ clnt_broadcast(u_long prog, u_long vers, u_long proc, xdrproc_t xargs, ret = rpc_broadcast((rpcprog_t)prog, (rpcvers_t)vers, (rpcproc_t)proc, xargs, argsp, xresults, resultsp, - (resultproc_t) rpc_wrap_bcast, "udp"); + rpc_wrap_bcast, "udp"); clnt_broadcast_result = NULL; return (ret); diff --git a/usr.bin/rpcinfo/rpcinfo.c b/usr.bin/rpcinfo/rpcinfo.c index 5f2dd4433292..5156dd2db4e0 100644 --- a/usr.bin/rpcinfo/rpcinfo.c +++ b/usr.bin/rpcinfo/rpcinfo.c @@ -125,7 +125,8 @@ static void pmapdump(int, char **); static void get_inet_address(struct sockaddr_in *, char *); #endif -static bool_t reply_proc(void *, struct netbuf *, struct netconfig *); +static bool_t reply_proc(char *, const struct netbuf *, + const struct netconfig *); static void brdcst(int, char **); static void addrping(char *, char *, int, char **); static void progping(char *, int, char **); @@ -584,7 +585,8 @@ get_inet_address(struct sockaddr_in *addr, char *host) /*ARGSUSED*/ static bool_t -reply_proc(void *res, struct netbuf *who, struct netconfig *nconf) +reply_proc(char *res __unused, const struct netbuf *who, + const struct netconfig *nconf) /* void *res; Nothing comes back */ /* struct netbuf *who; Who sent us the reply */ /* struct netconfig *nconf; On which transport the reply came */ @@ -621,7 +623,7 @@ brdcst(int argc, char **argv) vers = getvers(argv[1]); rpc_stat = rpc_broadcast(prognum, vers, NULLPROC, (xdrproc_t) xdr_void, (char *)NULL, (xdrproc_t) xdr_void, - (char *)NULL, (resultproc_t) reply_proc, NULL); + (char *)NULL, reply_proc, NULL); if ((rpc_stat != RPC_SUCCESS) && (rpc_stat != RPC_TIMEDOUT)) errx(1, "broadcast failed: %s", clnt_sperrno(rpc_stat)); exit(0);