Re: [PATCH 2/2] selftests/ftrace: Make uprobe test more robust against binary name
From: Steven Rostedt
Date: Mon Feb 17 2025 - 12:59:37 EST
On Mon, 17 Feb 2025 14:42:44 +0100
Heiko Carstens <hca@xxxxxxxxxxxxx> wrote:
> > +REALBIN=`readlink -f /bin/sh`
> > +
> > echo 'cat /proc/$$/maps' | /bin/sh | \
> > - grep "r-xp .*/bin/.*sh$" | \
> > + grep "r-xp .*${REALBIN}$" | \
> > awk '{printf "p:myevent %s:0x%s\n", $6,$3 }' >> uprobe_events
>
> This test fails on s390, not because of this change, but since the
> test seems to assume that the entry point of /bin/sh is at offset 0;
> or at least there is some code that is executed at least once at
> offset 0; but that is not the case (at least) for s390.
>
> Not sure how this can be addressed. Using "readelf -f" to get the
> entry point address of the executable and use that for the uprobe
> would work, but it would also add a dependency to binutils for the
> ftrace selftests, which doesn't exist yet, as far as I can tell.
>
> Would it maybe an option for architectures to opt-in to use readelf
> and skip the test (exit_unsupported) if readelf is not available?
I'm OK for adding a dependency on readelf existing on the test system, as
it is part of binutils.
Masami and Shuah,
Are you OK with that?
-- Steve