selftests/bpf: Reset err when symbol name already exist in kprobe_multi_test
authorManu Bretelle <chantr4@gmail.com>
Sat, 8 Apr 2023 02:29:19 +0000 (19:29 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Mon, 10 Apr 2023 16:40:37 +0000 (09:40 -0700)
commitc4d3b488a90be95f4f9413dc7eae5fc113d15fe9
tree52ad81bfa073b8ea70fb6ede0ac1c1c0cd7edf06
parent5855b0999de4213bf51d856a345c4b53f2304e33
selftests/bpf: Reset err when symbol name already exist in kprobe_multi_test

When trying to add a name to the hashmap, an error code of EEXIST is
returned and we continue as names are possibly duplicated in the sys
file.

If the last name in the file is a duplicate, we will continue to the
next iteration of the while loop, and exit the loop with a value of err
set to EEXIST and enter the error label with err set, which causes the
test to fail when it should not.

This change reset err to 0 before continue-ing into the next iteration,
this way, if there is no more data to read from the file we iterate
through, err will be set to 0.

Behaviour prior to this change:
```
test_kprobe_multi_bench_attach:FAIL:get_syms unexpected error: -17
(errno 2)

All error logs:
test_kprobe_multi_bench_attach:FAIL:get_syms unexpected error: -17
(errno 2)
Summary: 0/1 PASSED, 0 SKIPPED, 1 FAILED
```

After this change:
```
Summary: 1/2 PASSED, 0 SKIPPED, 0 FAILED
```

Signed-off-by: Manu Bretelle <chantr4@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20230408022919.54601-1-chantr4@gmail.com
tools/testing/selftests/bpf/prog_tests/kprobe_multi_test.c