Date: Tue, 28 Jan 2025 22:14:36 -0500 From: Mark Johnston <markj@freebsd.org> To: Jessica Clarke <jrtc27@freebsd.org> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org> Subject: Re: git: 70c067062217 - main - dtrace/arm64: Simplify dtrace_getarg() slightly Message-ID: <Z5mdHByjpV9y6ueZ@nuc> In-Reply-To: <8086E5AF-1350-47D8-9010-6DFFFF7FA8D3@freebsd.org> References: <202501290221.50T2LXRS006289@gitrepo.freebsd.org> <8086E5AF-1350-47D8-9010-6DFFFF7FA8D3@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 29, 2025 at 03:06:20AM +0000, Jessica Clarke wrote: > On 29 Jan 2025, at 02:21, Mark Johnston <markj@FreeBSD.org> wrote: > > > > The branch main has been updated by markj: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=70c067062217a5295ed321427b91cfd857c18b77 > > > > commit 70c067062217a5295ed321427b91cfd857c18b77 > > Author: Mark Johnston <markj@FreeBSD.org> > > AuthorDate: 2025-01-29 01:05:03 +0000 > > Commit: Mark Johnston <markj@FreeBSD.org> > > CommitDate: 2025-01-29 01:05:03 +0000 > > > > dtrace/arm64: Simplify dtrace_getarg() slightly > > > > The use of memcpy here is redundant, and also incorrect since memcpy() > > might be instrumented by fbt or kinst. dtrace_bcopy() exists, but we > > don't need it. > > > > MFC after: 2 weeks > > Sponsored by: Innovate UK > > --- > > sys/cddl/dev/dtrace/aarch64/dtrace_isa.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c b/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c > > index ff0e068006bd..3e36004c6f0d 100644 > > --- a/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c > > +++ b/sys/cddl/dev/dtrace/aarch64/dtrace_isa.c > > @@ -256,7 +256,6 @@ dtrace_getarg(int arg, int aframes __unused) > > return (tf->tf_x[arg]); > > } else { > > uintptr_t p; > > - uint64_t val; > > > > p = (tf->tf_sp + (arg - 8) * sizeof(uint64_t)); > > if ((p & 7) != 0) { > > @@ -269,8 +268,7 @@ dtrace_getarg(int arg, int aframes __unused) > > cpu_core[curcpu].cpuc_dtrace_illval = p; > > return (0); > > } > > - memcpy(&val, (void *)p, sizeof(uint64_t)); > > - return (val); > > + return (p); > > Doesn’t this change from dereferencing p to returning it? Surely p > should be a uint64_t * that is dereferenced? Yes, thank you, that was a stupid mistake on my part. I reverted it for now and will fix the problem properly tomorrow.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Z5mdHByjpV9y6ueZ>