From nobody Sat Sep 26 11:06:06 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 4hsPrZ5cQMz6th2F for ; Sat, 26 Sep 2026 11:06:06 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hsPrZ4qHfz4bMJ for ; Sat, 26 Sep 2026 11:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790420766; 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=vfNOu5HzwAPATwdaAG2bFCtCPCtSCTsxNJweoqG3ZiU=; b=dwjjhD+6lUMGJ3xSIDBRvLvd3IUM7VgSti1pkQXjdXzJ0tOBSAQOscgovJtjrUvRAQ2shK ugu5EzDaoIEo7iQMOyRXfDXSNdVkEONSqhYK7DWh4+8VL+Vvhdb4SwHAalWU4He3cI81W8 nsXfWvO7kBUIxmSG/bl7nS3vpVivZCTXl9M6OXI/bSxuyQ7S9L1WYY67KhrexTAe0EF75U CNdX/e/GaT0xhXqRnwLaf+OJX2GP18dZ4QtipN80fmGLG/EvUBFCf3fDJbYi/Lokl+bZxb VsR/2o3ITjs8xRj4wbYpkdYQQtEw/1q5M+qpR1sQM6f6BWeMslWnBzhLKmRrPA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1790420766; b=pprkrc2TPBB409TcHjRRgFuIK+1aVn3l237tLyW80ppNGAajK5nE5ELyaShXaR0fzc1f/6 zWz09SU0qzlDqv2iAu7a7vomvgH+qPZrv1a4CoB+mQSgPpGNLIa58yxiVOt4+HZ6z9GCS/ AWK1dLqRMXNkgALS69+uY4YKRUmqNbv5hjm2zuzYkPoISg9vLmgi1LAS3VGhcck8s2NZq4 NFb5V91nnlNGJK5KErN+/BkPLx8CQgRgk/QXE/2cyyQLzWLFheXrIfZdwTfLbrRZzSAck1 WtKhsWRlp7Fz6O8SqEaLMnK/sVi8cIh06fXrv4bcijlbZHWQyPbPRG7RuygS3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790420766; 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=vfNOu5HzwAPATwdaAG2bFCtCPCtSCTsxNJweoqG3ZiU=; b=pu7jt+LPc1eQ402YJdSBtZOViVbR8/jt+butH8RN1ADnI6BzD4fxKdndl/lQueRJ7SGjS4 zvlkB84ac9FeEMgiPAeby5Gtm54PtveMPRDHu33ehE49IZShhE9FIK7r53H8ruRU5HvUpS Vve0g9tPckStkdl5cDYlcQtOaqyxJY7mlSJYEdTWxVYMQtqdUdXCcpZDoXPkb6DExI50Nv SQl6+aro7YH2MBB1C1lDq8H53KHSflY9NvI+oABXTK5zQEGEhJ4AGgvzRrfuwpS8MxW2na 2Rqnla1LzgXCU1mJcYeRx6DU2b23tqm3KIgwxxaJdNUwF/lzPGqmfKp+vZZ16Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hsPrZ3t76ztbW for ; Sat, 26 Sep 2026 11:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2134d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 26 Sep 2026 11:06:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 2a717d519e04 - main - uio: make *copyinuio take a void * 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list 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: 2a717d519e04c5af9f70fb0c0cad0e25aba62d0b Auto-Submitted: auto-generated Date: Sat, 26 Sep 2026 11:06:06 +0000 Message-Id: <6ab7a71e.2134d.5ef65706@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=2a717d519e04c5af9f70fb0c0cad0e25aba62d0b commit 2a717d519e04c5af9f70fb0c0cad0e25aba62d0b Author: Brooks Davis AuthorDate: 2026-09-26 11:05:43 +0000 Commit: Brooks Davis CommitDate: 2026-09-26 11:05:43 +0000 uio: make *copyinuio take a void * This aligns with copyinuio_t and avoids some hypothetical undefined behavor around calling functions with mismatched types. Reviewed by: kib Effort: CHERI upstreaming Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D60024 --- sys/compat/freebsd32/freebsd32_misc.c | 10 ++++++---- sys/compat/freebsd32/freebsd32_util.h | 3 +-- sys/kern/subr_uio.c | 2 +- sys/sys/uio.h | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 7b4b0cdcfa4b..5900c7d03ce1 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -1288,20 +1288,22 @@ freebsd32_pdptrace(struct thread *td, struct freebsd32_pdptrace_args *uap) } int -freebsd32_copyinuio(const struct iovec32 *iovp, u_int iovcnt, struct uio **uiop) +freebsd32_copyinuio(const void *iovp, u_int iovcnt, struct uio **uiop) { struct iovec32 iov32; + const struct iovec32 *iovp32; struct iovec *iov; struct uio *uio; int error, i; + iovp32 = iovp; *uiop = NULL; if (iovcnt > UIO_MAXIOV) return (EINVAL); uio = allocuio(iovcnt); iov = uio->uio_iov; for (i = 0; i < iovcnt; i++) { - error = copyin(&iovp[i], &iov32, sizeof(struct iovec32)); + error = copyin(&iovp32[i], &iov32, sizeof(struct iovec32)); if (error) { freeuio(uio); return (error); @@ -2246,7 +2248,7 @@ freebsd4_freebsd32_sendfile(struct thread *td, return (kern_sendfile(td, uap->fd, uap->s, PAIR32TO64(off_t, uap->offset), uap->nbytes, (struct sf_hdtr *)uap->hdtr, uap->sbytes, uap->flags, - true, freebsd32_copyin_hdtr, (copyinuio_t *)freebsd32_copyinuio)); + true, freebsd32_copyin_hdtr, freebsd32_copyinuio)); } #endif @@ -2256,7 +2258,7 @@ freebsd32_sendfile(struct thread *td, struct freebsd32_sendfile_args *uap) return (kern_sendfile(td, uap->fd, uap->s, PAIR32TO64(off_t, uap->offset), uap->nbytes, (struct sf_hdtr *)uap->hdtr, uap->sbytes, uap->flags, - false, freebsd32_copyin_hdtr, (copyinuio_t *)freebsd32_copyinuio)); + false, freebsd32_copyin_hdtr, freebsd32_copyinuio)); } static void diff --git a/sys/compat/freebsd32/freebsd32_util.h b/sys/compat/freebsd32/freebsd32_util.h index 1ae016814329..1b253b6f124c 100644 --- a/sys/compat/freebsd32/freebsd32_util.h +++ b/sys/compat/freebsd32/freebsd32_util.h @@ -114,8 +114,7 @@ int freebsd32_copyout_strings(struct image_params *imgp, uintptr_t *stack_base); int freebsd32_copyiniov(struct iovec32 *iovp, u_int iovcnt, struct iovec **iov, int error); -int freebsd32_copyinuio(const struct iovec32 *iovp, u_int iovcnt, - struct uio **uiop); +int freebsd32_copyinuio(const void *iovp, u_int iovcnt, struct uio **uiop); void freebsd32_rusage_out(const struct rusage *s, struct rusage32 *s32); struct image_args; diff --git a/sys/kern/subr_uio.c b/sys/kern/subr_uio.c index ea75c6abc539..51001aacf0c9 100644 --- a/sys/kern/subr_uio.c +++ b/sys/kern/subr_uio.c @@ -434,7 +434,7 @@ copyiniov(const struct iovec *iovp, u_int iovcnt, struct iovec **iov, int error) } int -copyinuio(const struct iovec *iovp, u_int iovcnt, struct uio **uiop) +copyinuio(const void *iovp, u_int iovcnt, struct uio **uiop) { struct iovec *iov; struct uio *uio; diff --git a/sys/sys/uio.h b/sys/sys/uio.h index 217f65365cb0..0e0d42d04144 100644 --- a/sys/sys/uio.h +++ b/sys/sys/uio.h @@ -81,7 +81,7 @@ void freeuio(struct uio *uio); struct uio *cloneuio(struct uio *uiop); int copyiniov(const struct iovec *iovp, u_int iovcnt, struct iovec **iov, int error); -int copyinuio(const struct iovec *iovp, u_int iovcnt, struct uio **uiop); +int copyinuio(const void *iovp, u_int iovcnt, struct uio **uiop); int copyout_map(struct thread *td, vm_offset_t *addr, size_t sz); int copyout_unmap(struct thread *td, vm_offset_t addr, size_t sz); void exterr_copyout(struct thread *td);