On May 13, 2025, at 12:37, Mark Johnston <ma...@freebsd.org> wrote:
> 
> On Mon, May 12, 2025 at 09:10:54PM -0700, Mark Millard wrote:
>> To test the status of a couple of old armv7 networking bugzilla
>> submittal I'd done, I ran my old script for preloading various
>> kernel modules used by kyua tests. It has been a very long time
>> since I've done such.
>> 
>> (Note: I also avoided loading zfs.ko because of its reporting
>> that only having 2 pages reserved for the armv7 could lead
>> to kernel stack overflow problems.)
>> 
>> sdt.ko lead to new behavior:
>> (without it loaded no "invalid tracepoint"
>> output happens)
> 
> I think commit 15143ba61a3b154023095afa333b25592af4b904 addresses this.
> Can you confirm?

Checked and confirmed.


The details while I did the sequence . . .

I had tested via an official PkgBase install and
it will be a while before armv7's base_latest
has your patch built in.

So I'm verifiying that my persoanl kernel build
also gets the notices and then updating that
with your patch. (I do not want to do a general
synchronize with git at this point.)

Checking for using my personal kernel before
updating it with your patch:

# uname -apKU
FreeBSD OPiP2E-RPi2v1p1 15.0-CURRENT FreeBSD 15.0-CURRENT #6 
main-n277203-2a042fab4f91-dirty: Sun May 11 00:55:44 PDT 2025     
root@aarch64-main-pbase:/usr/obj/BUILDs/main-CA7-dbg-clang/usr/main-src/arm.armv7/sys/GENERIC-DBG-CA7
 arm armv7 1500042 1500042

# kldload -v -n sdt.ko
invalid tracepoint 0xc008795c->0xc0087a1c for sdt:::m__getcl
invalid tracepoint 0xc008858c->0xc0088684 for sdt:::m__free
. . .
invalid tracepoint 0xe247f2e8->0xe247f424 for mib:esp:count:esps_nopf
invalid tracepoint 0xe247f3a8->0xe247f44c for mib:esp:count:esps_nopf
Loaded sdt.ko, id=46

So: confirmed.


Based on (white space details not not be preserved below):

# git -C /usr/main-src diff sys/arm/arm/sdt_machdep.c | cat
diff --git a/sys/arm/arm/sdt_machdep.c b/sys/arm/arm/sdt_machdep.c
index 02361497ee8d..12119ae6db37 100644
--- a/sys/arm/arm/sdt_machdep.c
+++ b/sys/arm/arm/sdt_machdep.c
@@ -24,7 +24,7 @@ sdt_tracepoint_valid(uintptr_t patchpoint, uintptr_t target)
            patchpoint + 2 * INSN_SIZE < patchpoint)
                return (false);
        offset = target - (patchpoint + 2 * INSN_SIZE);
-       if (offset < -(1 << 24) || offset > (1 >> 24))
+       if (offset < -(1 << 24) || offset > (1 << 24))
                return (false);
        return (true);
 }

being in my build context and using the resulting
updated build that has the patch:

# uname -apKU
FreeBSD OPiP2E-RPi2v1p1 15.0-CURRENT FreeBSD 15.0-CURRENT #7 
main-n277203-2a042fab4f91-dirty: Tue May 13 14:02:04 PDT 2025     
root@aarch64-main-pkgs:/usr/obj/BUILDs/main-CA7-dbg-clang/usr/main-src/arm.armv7/sys/GENERIC-DBG-CA7
 arm armv7 1500042 1500042

My prekyua script result was:

# ~/prekyua-kldloads.sh
. . .
sdt.ko
Loaded sdt.ko, id=16
. . .

So: no invalid tracepoint messages (or any
other extra messages).


===
Mark Millard
marklmi at yahoo.com


Reply via email to