On Sat, 30 Nov 2024 01:56:21 +0530 Hari Bathini <hbathini@xxxxxxxxxxxxx> wrote: > In 'NOFENTRY_ARGS' test case for syntax check, any offset X of > `vfs_read+X` except function entry offset (0) fits the criterion, > even if that offset is not at instruction boundary, as the parser > comes before probing. But with "ENDBR64" instruction on x86, offset > 4 is treated as function entry. So, X can't be 4 as well. Thus, 8 > was used as offset for the test case. On 64-bit powerpc though, any > offset <= 16 can be considered function entry depending on build > configuration (see arch_kprobe_on_func_entry() for implementation > details). So, use `vfs_read+20` to accommodate that scenario too. > > Suggested-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxx> Acked-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> Shuah, Can you take this through your tree? Thanks, -- Steve > --- > > Changes in v2: > * Use 20 as offset for all arches. > > > .../selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc > index a16c6a6f6055..8f1c58f0c239 100644 > --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc > @@ -111,7 +111,7 @@ check_error 'p vfs_read $arg* ^$arg*' # DOUBLE_ARGS > if !grep -q 'kernel return probes support:' README; then > check_error 'r vfs_read ^$arg*' # NOFENTRY_ARGS > fi > -check_error 'p vfs_read+8 ^$arg*' # NOFENTRY_ARGS > +check_error 'p vfs_read+20 ^$arg*' # NOFENTRY_ARGS > check_error 'p vfs_read ^hoge' # NO_BTFARG > check_error 'p kfree ^$arg10' # NO_BTFARG (exceed the number of parameters) > check_error 'r kfree ^$retval' # NO_RETVAL