From nobody Wed Jul 15 09:32:44 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 4h0WDX46xcz6lBrY for ; Wed, 15 Jul 2026 09:32:44 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4h0WDX1MqYz4K1Z for ; Wed, 15 Jul 2026 09:32:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1784107964; 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=T7rslWGNpnAHWCtM+NggWNKXX1yiHKN1oNi5iojMlz0=; b=YtXe+UJYIu+aJN4cieWPnbTMNXkbWP1WtbfcV2DW2hiV+X27VOlu+soFe0N316KKFqR9hC XF0FwF22h3Q/sRqNXGc74HnIAMs4+P+ZR0VW9r82xRgnlxp+oJ/7vcjutMb0ChvPNp9Q/j YrF/6H3Nnw1Q8e+yxRouodhXk71fC2a4dThTrKZejwdQZu0nFXHHfl+40AdsV62YnzNVV2 oLvR1sH+VvDO+h+dE+0AD6nhZqfLHUhOa9AhFeM9Pz1CN+TCS2rP6rr51JmVztj4sw0ZPF Fkvo1do0gLu2sOWsu9NThYMpD4QqhVD7avKOyiy0evZcSsWL1mIYkNRHzHrhiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1784107964; a=rsa-sha256; cv=none; b=JVOHm6oWSaVqjWD/cBrI6xrsYvlvmldnn50uGrLOk2jPWAkmSjsnoGpFHauFpsjiCKNT3t zijYu2Xhp5lrmASqn25OrdtTWA/bgGrbaDgE7YZOLL/lFhm0AxXIbDV7qkGPh50ARg1lHk g1KLtJMNhdnrJ8gZD7snUL0ccDPWROeA+izuOx1W+vp/slvg6JBdupF2y7dx8ahofB4snp j3Q37ifOBx992UAriv6r9+ZqCjR5+6SkjZoQ/WDZDqytq1hhVIj7ZftsAFpjFnEwnSyPtL cmrhJt2Op23lVtb0CN5ffDhnkUFrMRbB7XHnlKmXN+/DFeI0rVdDAgEuD8v2GQ== 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=1784107964; 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=T7rslWGNpnAHWCtM+NggWNKXX1yiHKN1oNi5iojMlz0=; b=lYfsWtdH7GFGLPl6/WdR5Sh07eE0CiNVTG5cNYKL3AZ/IgjKcrtifQDVReJyPQqnJpPVJd QmrqMTxNCqJGiHtvbmrUAWaoVVJ3H6BeqnsHZM/4ORYRr1SlUZqr+F+NwhazE3bGorfbZ9 souob95jQwAhkNr8RGjZf3+me1W8q578oKZGYgjTW8ciu8Ba7Q6wNoPk8G81e0/7HLaE0f iqjIxl5By9RgJ3tYIJ9ZHy3gCVczmpz1juY287IK3yMueVwlk1P44yBXS4SDVAPdwvKgF5 dxgNeKxEh7jy9gubTU86AFkcX2jTo4XMYi5VbTFm+8LZx7KdRHiwApw3VN/BPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h0WDX0DpSz96l for ; Wed, 15 Jul 2026 09:32:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 454d5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 15 Jul 2026 09:32:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 844009378da9 - main - exterr: allow exterr to fit pointers on CHERI targets 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: 844009378da9723180923bb5fc2008d137190b62 Auto-Submitted: auto-generated Date: Wed, 15 Jul 2026 09:32:44 +0000 Message-Id: <6a5753bc.454d5.2418d0cf@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=844009378da9723180923bb5fc2008d137190b62 commit 844009378da9723180923bb5fc2008d137190b62 Author: Brooks Davis AuthorDate: 2026-07-15 08:44:03 +0000 Commit: Brooks Davis CommitDate: 2026-07-15 09:32:16 +0000 exterr: allow exterr to fit pointers on CHERI targets Switch to uint64ptr_t which is a uint64_t on traditional architectures and a uintptr_t on CHERI architectures. This has no ABI impact on non-CHERI kernels. Fix truncation of 64-bit values on 32-bit kernels. Reviewed by: kib Effort: CHERI upstreaming Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D58056 --- sys/sys/_exterr.h | 4 ++-- sys/sys/_uexterror.h | 6 +++--- sys/sys/exterrvar.h | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/sys/_exterr.h b/sys/sys/_exterr.h index 4423d6a34bdb..8f5e66ae4601 100644 --- a/sys/sys/_exterr.h +++ b/sys/sys/_exterr.h @@ -16,8 +16,8 @@ struct kexterr { int error; const char *msg; - __uint64_t p1; - __uint64_t p2; + __uint64ptr_t p1; + __uint64ptr_t p2; unsigned cat; unsigned src_line; }; diff --git a/sys/sys/_uexterror.h b/sys/sys/_uexterror.h index 7951b2c5b26d..a0a1ed24f1fc 100644 --- a/sys/sys/_uexterror.h +++ b/sys/sys/_uexterror.h @@ -20,9 +20,9 @@ struct uexterror { __uint32_t src_line; __uint32_t flags; __uint32_t rsrv0; - __uint64_t p1; - __uint64_t p2; - __uint64_t rsrv1[4]; + __uint64ptr_t p1; + __uint64ptr_t p2; + __uint64ptr_t rsrv1[4]; char msg[128]; }; diff --git a/sys/sys/exterrvar.h b/sys/sys/exterrvar.h index 6c75a2d01174..0a34280ff711 100644 --- a/sys/sys/exterrvar.h +++ b/sys/sys/exterrvar.h @@ -59,7 +59,7 @@ #define _SET_ERROR2(eerror, mmsg, pp1, pp2) \ exterr_set(eerror, EXTERR_CATEGORY, SET_ERROR_MSG(mmsg), \ - (uintptr_t)(pp1), (uintptr_t)(pp2), __LINE__) + (uint64ptr_t)(pp1), (uint64ptr_t)(pp2), __LINE__) #define _SET_ERROR0(eerror, mmsg) _SET_ERROR2(eerror, mmsg, 0, 0) #define _SET_ERROR1(eerror, mmsg, pp1) _SET_ERROR2(eerror, mmsg, pp1, 0) @@ -72,8 +72,8 @@ void exterr_clear(struct kexterr *ke); void exterr_db_print(struct kexterr *ke); int exterr_set_from(const struct kexterr *ke); -int exterr_set(int eerror, int category, const char *mmsg, uintptr_t pp1, - uintptr_t pp2, int line); +int exterr_set(int eerror, int category, const char *mmsg, uint64ptr_t pp1, + uint64ptr_t pp2, int line); int exterr_to_ue(struct thread *td, struct uexterror *ue); void ktrexterr(struct thread *td);