lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 16 Jul 2022 18:46:34 -0700
From:   Yonghong Song <yhs@...com>
To:     Pu Lehui <pulehui@...wei.com>, bpf@...r.kernel.org,
        netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Cc:     Alexei Starovoitov <ast@...nel.org>,
        Daniel Borkmann <daniel@...earbox.net>,
        Andrii Nakryiko <andrii@...nel.org>,
        Quentin Monnet <quentin@...valent.com>,
        Martin KaFai Lau <kafai@...com>,
        Song Liu <songliubraving@...com>,
        John Fastabend <john.fastabend@...il.com>,
        KP Singh <kpsingh@...nel.org>,
        Jean-Philippe Brucker <jean-philippe@...aro.org>
Subject: Re: [PATCH bpf-next 5/5] selftests/bpf: Remove the casting about
 jited_ksyms and jited_linfo



On 7/16/22 5:51 AM, Pu Lehui wrote:
> We have unified data extension operation of jited_ksyms and jited_linfo
> into zero extension, so there's no need to cast u64 memory address to
> long data type.

For subject, we are not 'Remove the casting ...'. What the code did is
to change the casting.

Also, I don't understand the above commit message. What does this mean
about 'data extension operation of jited_ksyms and jited_linfo into zero 
extension'?

In prog_tests/btf.c, we have a few other places to cast 
jited_linfo[...]/jited_ksyms[...] to 'long' type. Maybe casting
to 'unsigned long' is a better choice. Casting to 'unsigned long long'
of course will work, but is it necessary? Or you are talking about
64bit kernel and 32bit user space?

> 
> Signed-off-by: Pu Lehui <pulehui@...wei.com>
> ---
>   tools/testing/selftests/bpf/prog_tests/btf.c | 16 +++++++++-------
>   1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/tools/testing/selftests/bpf/prog_tests/btf.c b/tools/testing/selftests/bpf/prog_tests/btf.c
> index e852a9df779d..db10fa1745d1 100644
> --- a/tools/testing/selftests/bpf/prog_tests/btf.c
> +++ b/tools/testing/selftests/bpf/prog_tests/btf.c
> @@ -6613,8 +6613,9 @@ static int test_get_linfo(const struct prog_info_raw_test *test,
>   	}
>   
>   	if (CHECK(jited_linfo[0] != jited_ksyms[0],
> -		  "jited_linfo[0]:%lx != jited_ksyms[0]:%lx",
> -		  (long)(jited_linfo[0]), (long)(jited_ksyms[0]))) {
> +		  "jited_linfo[0]:%llx != jited_ksyms[0]:%llx",
> +		  (unsigned long long)(jited_linfo[0]),
> +		  (unsigned long long)(jited_ksyms[0]))) {
>   		err = -1;
>   		goto done;
>   	}
> @@ -6632,16 +6633,17 @@ static int test_get_linfo(const struct prog_info_raw_test *test,
>   		}
>   
>   		if (CHECK(jited_linfo[i] <= jited_linfo[i - 1],
> -			  "jited_linfo[%u]:%lx <= jited_linfo[%u]:%lx",
> -			  i, (long)jited_linfo[i],
> -			  i - 1, (long)(jited_linfo[i - 1]))) {
> +			  "jited_linfo[%u]:%llx <= jited_linfo[%u]:%llx",
> +			  i, (unsigned long long)jited_linfo[i],
> +			  i - 1, (unsigned long long)(jited_linfo[i - 1]))) {
>   			err = -1;
>   			goto done;
>   		}
>   
>   		if (CHECK(jited_linfo[i] - cur_func_ksyms > cur_func_len,
> -			  "jited_linfo[%u]:%lx - %lx > %u",
> -			  i, (long)jited_linfo[i], (long)cur_func_ksyms,
> +			  "jited_linfo[%u]:%llx - %llx > %u",
> +			  i, (unsigned long long)jited_linfo[i],
> +			  (unsigned long long)cur_func_ksyms,
>   			  cur_func_len)) {
>   			err = -1;
>   			goto done;

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ