Summary: | Function cast warnings in lib/libypclnt | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Dimitry Andric <dim> | ||||
Component: | bin | Assignee: | Mark Johnston <markj> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Some People | CC: | emaste, markj | ||||
Priority: | --- | ||||||
Version: | 15.0-CURRENT | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Dimitry Andric
![]() ![]() We've got a number of xdr and rpc related function type fixes in CheriBSD where having things be wrong breaks functionality. I'll look into upstreaming them. I took a look at this and the changes I'd made to CheriBSD aren't what we want here. Fortunately, it looks like you can fix these warnings with a simple change: diff --git a/include/rpc/xdr.h b/include/rpc/xdr.h index 11d6a8d13b49..ecf10e1659e4 100644 --- a/include/rpc/xdr.h +++ b/include/rpc/xdr.h @@ -278,7 +278,7 @@ struct xdr_discrim { * These are the "generic" xdr routines. */ __BEGIN_DECLS -extern bool_t xdr_void(void); +extern bool_t xdr_void(XDR *, void *); extern bool_t xdr_int(XDR *, int *); extern bool_t xdr_u_int(XDR *, u_int *); extern bool_t xdr_long(XDR *, long *); diff --git a/lib/libc/xdr/xdr.c b/lib/libc/xdr/xdr.c index 6992cae69bf1..5db3b0eb212e 100644 --- a/lib/libc/xdr/xdr.c +++ b/lib/libc/xdr/xdr.c @@ -84,9 +84,8 @@ xdr_free(xdrproc_t proc, void *objp) * XDR nothing */ bool_t -xdr_void(void) +xdr_void(XDR *xdrs __unused, void *p __unused) { - return (TRUE); } A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=a5d1cf5e362a2e3c3ebdf6d8f2b86658a6d0b9d6 commit a5d1cf5e362a2e3c3ebdf6d8f2b86658a6d0b9d6 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2024-10-30 19:27:18 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2024-10-30 19:27:18 +0000 rpc: Fix the definition of xdr_void() xdr_void() should have type xdrproc_t, make it so. PR: 280514 Reviewed by: brooks, dim MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47340 include/rpc/xdr.h | 2 +- lib/libc/xdr/xdr.c | 4 +--- sys/rpc/xdr.h | 2 +- sys/xdr/xdr.c | 3 +-- 4 files changed, 4 insertions(+), 7 deletions(-) A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b698c825f3b6699b278122da776bdfe5f360619f commit b698c825f3b6699b278122da776bdfe5f360619f Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2024-10-30 19:27:18 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2024-11-05 01:05:26 +0000 rpc: Fix the definition of xdr_void() xdr_void() should have type xdrproc_t, make it so. PR: 280514 Reviewed by: brooks, dim MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47340 (cherry picked from commit a5d1cf5e362a2e3c3ebdf6d8f2b86658a6d0b9d6) include/rpc/xdr.h | 2 +- lib/libc/xdr/xdr.c | 4 +--- sys/rpc/xdr.h | 2 +- sys/xdr/xdr.c | 3 +-- 4 files changed, 4 insertions(+), 7 deletions(-) A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b59d578945807e487a2ed20ff6387f40c89db47d commit b59d578945807e487a2ed20ff6387f40c89db47d Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2024-10-30 19:27:18 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2024-11-05 01:05:31 +0000 rpc: Fix the definition of xdr_void() xdr_void() should have type xdrproc_t, make it so. PR: 280514 Reviewed by: brooks, dim MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47340 (cherry picked from commit a5d1cf5e362a2e3c3ebdf6d8f2b86658a6d0b9d6) include/rpc/xdr.h | 2 +- lib/libc/xdr/xdr.c | 4 +--- sys/rpc/xdr.h | 2 +- sys/xdr/xdr.c | 3 +-- 4 files changed, 4 insertions(+), 7 deletions(-) A commit in branch releng/14.2 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=a231e2990776a28f8c3b01b946e7774b3f6bb39b commit a231e2990776a28f8c3b01b946e7774b3f6bb39b Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2024-10-30 19:27:18 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2024-11-05 16:17:03 +0000 rpc: Fix the definition of xdr_void() xdr_void() should have type xdrproc_t, make it so. Approved by: re (kib) PR: 280514 Reviewed by: brooks, dim MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47340 (cherry picked from commit a5d1cf5e362a2e3c3ebdf6d8f2b86658a6d0b9d6) (cherry picked from commit b698c825f3b6699b278122da776bdfe5f360619f) include/rpc/xdr.h | 2 +- lib/libc/xdr/xdr.c | 4 +--- sys/rpc/xdr.h | 2 +- sys/xdr/xdr.c | 3 +-- 4 files changed, 4 insertions(+), 7 deletions(-) |