Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d3d10eb

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 torvalds#109/1 fill_link_info/kprobe_link_info:FAIL [...] torvalds#109/2 fill_link_info/kretprobe_link_info:FAIL torvalds#109 fill_link_info:FAIL Fixes: 23cf7aa ("selftests/bpf: Add selftest for fill_link_info") Signed-off-by: Tony Ambardar <[email protected]>
1 parent 00c284a commit d3d10eb

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)