mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
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
This commit is contained in:
parent
5855b0999d
commit
c4d3b488a9
@ -381,8 +381,10 @@ static int get_syms(char ***symsp, size_t *cntp, bool kernel)
|
||||
continue;
|
||||
|
||||
err = hashmap__add(map, name, 0);
|
||||
if (err == -EEXIST)
|
||||
if (err == -EEXIST) {
|
||||
err = 0;
|
||||
continue;
|
||||
}
|
||||
if (err)
|
||||
goto error;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user