aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2026-01-21 16:10:53 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2026-01-21 16:10:53 +0000
commit5eb1d4eec67685a933cedd5a20fbec86febcd3a9 (patch)
treec5ba28221df35fa93cec552b3d083dadec01e1e5
parent37de3763b8d589c6916a1207bb46bbaefb75b4c3 (diff)
rpctls_impl.c: Use a direct cast to uintptr_t instead of __DECONST
This fixes the build on CHERI architectures where the compiler warns about a direct cast between uint64_t and const void * inside of __DECONST. However, GCC would also complain about this on 32-bit kernels due to uint64_t not being the same size as a pointer. Also, a direct cast to uintptr_t to right-size the cookie value is more direct than using __DECONST given that there is no "const" pointer involved in the expression. Reviewed by: brooks, glebius Obtained from: CheriBSD Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D54797
-rw-r--r--sys/rpc/rpcsec_tls/rpctls_impl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/rpc/rpcsec_tls/rpctls_impl.c b/sys/rpc/rpcsec_tls/rpctls_impl.c
index 51fe270b13d9..22ba699a6fab 100644
--- a/sys/rpc/rpcsec_tls/rpctls_impl.c
+++ b/sys/rpc/rpcsec_tls/rpctls_impl.c
@@ -163,7 +163,7 @@ sys_rpctls_syscall(struct thread *td, struct rpctls_syscall_args *uap)
mtx_lock(&rpctls_lock);
upsp = RB_FIND(upsock_t, &upcall_sockets,
&(struct upsock){
- .so = __DECONST(struct socket *, uap->socookie) });
+ .so = (struct socket *)(uintptr_t)uap->socookie });
if (__predict_true(upsp != NULL)) {
RB_REMOVE(upsock_t, &upcall_sockets, upsp);
/*