On 2/27/19 2:46 PM, Andrii Nakryiko wrote:
> btf_dedup testing code doesn't account for length of struct btf_header
> when calculating the start of a string section. This patch fixes this
> problem.
> 
> Fixes: 49b57e0d01db ("tools/bpf: remove btf__get_strings() superseded by raw 
> data API")
> Signed-off-by: Andrii Nakryiko <andr...@fb.com>

Acked-by: Yonghong Song <y...@fb.com>
for Patch #1 - #3.

> ---
>   tools/testing/selftests/bpf/.gitignore | 1 +
>   tools/testing/selftests/bpf/test_btf.c | 4 ++--
>   2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/bpf/.gitignore 
> b/tools/testing/selftests/bpf/.gitignore
> index e47168d1257d..3b74d23fffab 100644
> --- a/tools/testing/selftests/bpf/.gitignore
> +++ b/tools/testing/selftests/bpf/.gitignore
> @@ -14,6 +14,7 @@ feature
>   test_libbpf_open
>   test_sock
>   test_sock_addr
> +test_sock_fields
>   urandom_read
>   test_btf
>   test_sockmap
> diff --git a/tools/testing/selftests/bpf/test_btf.c 
> b/tools/testing/selftests/bpf/test_btf.c
> index 02d314383a9c..1426c0a905c8 100644
> --- a/tools/testing/selftests/bpf/test_btf.c
> +++ b/tools/testing/selftests/bpf/test_btf.c
> @@ -5936,9 +5936,9 @@ static int do_test_dedup(unsigned int test_num)
>       }
>   
>       test_hdr = test_btf_data;
> -     test_strs = test_btf_data + test_hdr->str_off;
> +     test_strs = test_btf_data + sizeof(*test_hdr) + test_hdr->str_off;
>       expect_hdr = expect_btf_data;
> -     expect_strs = expect_btf_data + expect_hdr->str_off;
> +     expect_strs = expect_btf_data + sizeof(*test_hdr) + expect_hdr->str_off;
>       if (CHECK(test_hdr->str_len != expect_hdr->str_len,
>                 "test_hdr->str_len:%u != expect_hdr->str_len:%u",
>                 test_hdr->str_len, expect_hdr->str_len)) {
> 

Reply via email to