On Wed, Dec 18, 2019 at 6:04 PM Alexei Starovoitov <ast@xxxxxxxxxx> wrote: > > Fix two issues in test_attach_probe: > 1. it was not able to parse /proc/self/maps beyond the first line, > since %s means parse string until white space. > 2. offset has to be accounted for otherwise uprobed address is incorrect. > > Fixes: 1e8611bbdfc9 ("selftests/bpf: add kprobe/uprobe selftests") > Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> > --- Thanks for fixing! Acked-by: Andrii Nakryiko <andriin@xxxxxx> > tools/testing/selftests/bpf/prog_tests/attach_probe.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/bpf/prog_tests/attach_probe.c b/tools/testing/selftests/bpf/prog_tests/attach_probe.c > index 5ed90ede2f1d..a0ee87c8e1ea 100644 > --- a/tools/testing/selftests/bpf/prog_tests/attach_probe.c > +++ b/tools/testing/selftests/bpf/prog_tests/attach_probe.c > @@ -3,7 +3,7 @@ > #include "test_attach_probe.skel.h" > > ssize_t get_base_addr() { > - size_t start; > + size_t start, offset; > char buf[256]; > FILE *f; > > @@ -11,10 +11,11 @@ ssize_t get_base_addr() { > if (!f) > return -errno; > > - while (fscanf(f, "%zx-%*x %s %*s\n", &start, buf) == 2) { > + while (fscanf(f, "%zx-%*x %s %zx %*[^\n]\n", never new [^<chars>] is possible, very nice! > + &start, buf, &offset) == 3) { > if (strcmp(buf, "r-xp") == 0) { > fclose(f); > - return start; > + return start - offset; > } > } > > -- > 2.23.0 >