From nobody Fri Feb 7 14:47:02 2025 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 4YqGyb21Qkz5mHV3; Fri, 07 Feb 2025 14:47:03 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YqGyb0ZBqz3CBM; Fri, 07 Feb 2025 14:47:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738939623; 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=JAgts2SfuIAx6oxFcf82Y78BiMNeDQi/2z2ap07WFzI=; b=Ct3fXBz4O0ibMkZ8qF7TzwCVyBoqiAvDeaVmt6Dp0Utarz8xY1+32di2/EC/SQH0P9sNel NVGxf61DpI0H0bzBQeKhssuPgkki6PV3hCpLNElmN3cgXhoIhBM2DwfIlMp3KAc3bFmUgy z+WDb9FA2g3h3/6Od/Zue1XKneb9zjxjspYIzab3qCO9xVk9n8d64PqQ//UR+mhQrfQH84 AZbJXFV/L8H7Cob0QJ95a6RYcsmnp6brZZHoIVHYuuDnX4hwRIzMDIIx88W3DZ4LU2yq/G Uxxad31tQcYclI5MqOOWESwiXPGBCu9R2qgum+zEgWI5SwWyOIPHPgsGHcW4Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738939623; 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=JAgts2SfuIAx6oxFcf82Y78BiMNeDQi/2z2ap07WFzI=; b=JmjwHG1AXLC+hcgSzFhYtn9KSzoaeQOq+yZCJXbzDWmE8zdbVgqY6YAOPi1hbBWMfiASdb 3id+mbNbABdRZegHaaQgSTfGJoY3qO+aQOKrNXMDzStOflsdvOMyQy52nCJ1uyicIxqSX8 chV4w43hFkuFpAKPoCQykMgKrc0X2fZeklZhPJraKNcQCY4FhP3AzkhvPfJ/a9JswAKqd9 6kttAqDCtVi+ddbjGrpWBE7du0aYpqcRzZa3qr0Bnu2BaZaGN3SELnCdzceEVjRXfy6+Lp NCHTOp7ehaYXnHMdy0srBjC4fYuD+dXckRZ50e+G56ZtKS/KqjGmD1FdIW/l+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1738939623; a=rsa-sha256; cv=none; b=pIADyMB+UdCNje9oqSAUnzWiFJFzDLOPvmqszNe1+U3n1e1fJDSvQhyADpyzJbUwwytSzF 0bPzQAr9yloXDd5qY6U50yPRZPckVC6FKX3bw4hUHArFdN4mZNmzDTde0+emeRSdpXTkr6 AwYCHY0bMw8hqNETz4Eg8xqBC5aGrWro5ipzF8flxBgr11aorp/RCtF567SJ0wo5dlD+ox NdCcFChH+jDrj1NG/CaIRlQ7UNyjAnyrxgJYpf9cUf8PMiIyUBaQvL/lqRk2NtZiscN+Wd LZkhB+5tZ4iDGDKLfa3fl1gZOP9wWI23t+QlLAScDacRlR8nc1JV61NcB3sRKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YqGyb094WzCvW; Fri, 07 Feb 2025 14:47:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 517El2cN002859; Fri, 7 Feb 2025 14:47:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 517El2X6002856; Fri, 7 Feb 2025 14:47:02 GMT (envelope-from git) Date: Fri, 7 Feb 2025 14:47:02 GMT Message-Id: <202502071447.517El2X6002856@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: bd8c494343ae - stable/14 - dtrace: Use size_t instead of uintptr_t to represent buffer offsets 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bd8c494343ae403cc1b4c4822b7e6f204cf61165 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=bd8c494343ae403cc1b4c4822b7e6f204cf61165 commit bd8c494343ae403cc1b4c4822b7e6f204cf61165 Author: Mark Johnston AuthorDate: 2025-01-23 19:08:46 +0000 Commit: Mark Johnston CommitDate: 2025-02-07 14:46:53 +0000 dtrace: Use size_t instead of uintptr_t to represent buffer offsets This eases porting of DTrace to CHERI, where uintptr_t and size_t aren't interchangeable. No functional change intended. Reviewed by: Domagoj Stolfa MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D48625 (cherry picked from commit ba9cff7aa2eb62d84bead503cd606d1586ea8388) --- .../contrib/opensolaris/uts/common/dtrace/dtrace.c | 19 +++++++++---------- .../contrib/opensolaris/uts/common/sys/dtrace_impl.h | 6 +++--- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c index 5f635cc088d7..608bff1d23ae 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c +++ b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c @@ -472,7 +472,7 @@ static kmutex_t dtrace_errlock; #define DT_MASK_LO 0x00000000FFFFFFFFULL #define DTRACE_STORE(type, tomax, offset, what) \ - *((type *)((uintptr_t)(tomax) + (uintptr_t)offset)) = (type)(what); + *((type *)((uintptr_t)(tomax) + (size_t)offset)) = (type)(what); #if !defined(__x86) && !defined(__aarch64__) #define DTRACE_ALIGNCHECK(addr, size, flags) \ @@ -601,7 +601,7 @@ static uint64_t dtrace_helper(int, dtrace_mstate_t *, static dtrace_helpers_t *dtrace_helpers_create(proc_t *); static void dtrace_buffer_drop(dtrace_buffer_t *); static int dtrace_buffer_consumed(dtrace_buffer_t *, hrtime_t when); -static intptr_t dtrace_buffer_reserve(dtrace_buffer_t *, size_t, size_t, +static ssize_t dtrace_buffer_reserve(dtrace_buffer_t *, size_t, size_t, dtrace_state_t *, dtrace_mstate_t *); static int dtrace_state_option(dtrace_state_t *, dtrace_optid_t, dtrace_optval_t); @@ -2548,7 +2548,7 @@ dtrace_aggregate(dtrace_aggregation_t *agg, dtrace_buffer_t *dbuf, caddr_t tomax, data, kdata; dtrace_actkind_t action; dtrace_action_t *act; - uintptr_t offs; + size_t offs; if (buf == NULL) return; @@ -2843,7 +2843,7 @@ dtrace_speculation_commit(dtrace_state_t *state, processorid_t cpu, dtrace_buffer_t *src, *dest; uintptr_t daddr, saddr, dlimit, slimit; dtrace_speculation_state_t curstate, new = 0; - intptr_t offs; + ssize_t offs; uint64_t timestamp; if (which == 0) @@ -6910,7 +6910,6 @@ dtrace_action_breakpoint(dtrace_ecb_t *ecb) char c[DTRACE_FULLNAMELEN + 80], *str; char *msg = "dtrace: breakpoint action at probe "; char *ecbmsg = " (ecb "; - uintptr_t mask = (0xf << (sizeof (uintptr_t) * NBBY / 4)); uintptr_t val = (uintptr_t)ecb; int shift = (sizeof (uintptr_t) * NBBY) - 4, i = 0; @@ -6951,9 +6950,9 @@ dtrace_action_breakpoint(dtrace_ecb_t *ecb) c[i++] = *ecbmsg++; while (shift >= 0) { - mask = (uintptr_t)0xf << shift; + size_t mask = (size_t)0xf << shift; - if (val >= ((uintptr_t)1 << shift)) + if (val >= ((size_t)1 << shift)) c[i++] = "0123456789abcdef"[(val & mask) >> shift]; shift -= 4; } @@ -8038,7 +8037,7 @@ dtrace_hash_str(const char *p) } static dtrace_hash_t * -dtrace_hash_create(uintptr_t stroffs, uintptr_t nextoffs, uintptr_t prevoffs) +dtrace_hash_create(size_t stroffs, size_t nextoffs, size_t prevoffs) { dtrace_hash_t *hash = kmem_zalloc(sizeof (dtrace_hash_t), KM_SLEEP); @@ -12316,11 +12315,11 @@ dtrace_buffer_drop(dtrace_buffer_t *buf) * mstate. Returns the new offset in the buffer, or a negative value if an * error has occurred. */ -static intptr_t +static ssize_t dtrace_buffer_reserve(dtrace_buffer_t *buf, size_t needed, size_t align, dtrace_state_t *state, dtrace_mstate_t *mstate) { - intptr_t offs = buf->dtb_offset, soffs; + ssize_t offs = buf->dtb_offset, soffs; intptr_t woffs; caddr_t tomax; size_t total; diff --git a/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h b/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h index cfb97c71f262..222f8e206da1 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h +++ b/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h @@ -149,9 +149,9 @@ typedef struct dtrace_hash { int dth_size; /* size of hash table */ int dth_mask; /* mask to index into table */ int dth_nbuckets; /* total number of buckets */ - uintptr_t dth_nextoffs; /* offset of next in probe */ - uintptr_t dth_prevoffs; /* offset of prev in probe */ - uintptr_t dth_stroffs; /* offset of str in probe */ + size_t dth_nextoffs; /* offset of next in probe */ + size_t dth_prevoffs; /* offset of prev in probe */ + size_t dth_stroffs; /* offset of str in probe */ } dtrace_hash_t; /*