Skip to content

Commit ac0eaed

Browse files
committed
selftests/bpf: Fix sign-extension in test fill_link_info
The function verify_perf_link_info() accepts a 'long' address to perform validation, which can sign-extend on 32-bit systems and fail checks. Use an 'unsigned long' type to avoid errors like: test_fill_link_info:PASS:skel_open 0 nsec test_fill_link_info:PASS:load_kallsyms 0 nsec test_kprobe_fill_link_info:PASS:attach_kprobe 0 nsec verify_perf_link_info:PASS:get_link_info 0 nsec verify_perf_link_info:PASS:link_type 0 nsec verify_perf_link_info:PASS:perf_type_match 0 nsec verify_perf_link_info:PASS:kprobe_offset 0 nsec verify_perf_link_info:FAIL:kprobe_addr unexpected kprobe_addr: actual 3231513376 != expected -1063453920 verify_perf_link_info:PASS:kprobe_cookie 0 nsec verify_perf_link_info:PASS:name_len 0 nsec verify_perf_link_info:PASS:get_link_info 0 nsec verify_perf_link_info:PASS:link_type 0 nsec verify_perf_link_info:PASS:perf_type_match 0 nsec verify_perf_link_info:PASS:kprobe_offset 0 nsec verify_perf_link_info:FAIL:kprobe_addr unexpected kprobe_addr: actual 3231513376 != expected -1063453920 verify_perf_link_info:PASS:kprobe_cookie 0 nsec verify_perf_link_info:PASS:name_len 0 nsec verify_perf_link_info:PASS:cmp_kprobe_func_name 0 nsec test_kprobe_fill_link_info:PASS:verify_perf_link_info 0 nsec kernel-patches#109/1 fill_link_info/kprobe_link_info:FAIL [...] kernel-patches#109/2 fill_link_info/kretprobe_link_info:FAIL kernel-patches#109 fill_link_info:FAIL Fixes: 23cf7aa ("selftests/bpf: Add selftest for fill_link_info") Signed-off-by: Tony Ambardar <[email protected]>
1 parent d5994bd commit ac0eaed

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

tools/testing/selftests/bpf/prog_tests/fill_link_info.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ static noinline void uprobe_func(void)
3434

3535
#define PERF_EVENT_COOKIE 0xdeadbeef
3636

37-
static int verify_perf_link_info(int fd, enum bpf_perf_event_type type, long addr,
37+
static int verify_perf_link_info(int fd, enum bpf_perf_event_type type, unsigned long addr,
3838
ssize_t offset, ssize_t entry_offset)
3939
{
4040
ssize_t ref_ctr_offset = entry_offset /* ref_ctr_offset for uprobes */;

0 commit comments

Comments
 (0)