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]
Message-ID: <4a497245-1864-3036-074e-107134e4b9b5@fb.com>
Date:   Tue, 20 Mar 2018 09:05:15 -0700
From:   Yonghong Song <yhs@...com>
To:     Thadeu Lima de Souza Cascardo <cascardo@...onical.com>,
        <netdev@...r.kernel.org>
CC:     <linux-kernel@...r.kernel.org>,
        Daniel Borkmann <daniel@...earbox.net>,
        Alexei Starovoitov <ast@...nel.org>
Subject: Re: [PATCH] test_bpf: Fix testing with CONFIG_BPF_JIT_ALWAYS_ON=y on
 other arches



On 3/20/18 5:58 AM, Thadeu Lima de Souza Cascardo wrote:
> Function bpf_fill_maxinsns11 is designed to not be able to be JITed on
> x86_64. So, it fails when CONFIG_BPF_JIT_ALWAYS_ON=y, and
> commit 09584b406742 ("bpf: fix selftests/bpf test_kmod.sh failure when
> CONFIG_BPF_JIT_ALWAYS_ON=y") makes sure that failure is detected on that
> case.
> 
> However, it does not fail on other architectures, which have a different
> JIT compiler design. So, test_bpf has started to fail to load on those.

Here, you mentioned that it did not fail on other architectures. Have 
you verified all of them or just looked through the algorithm.

Could you give a little bit details about other architectures are okay 
while x86 is not? Maybe, x86 JIT can be improved some how?

Thanks!

> 
> After this fix, test_bpf loads fine on both x86_64 and ppc64el.
> 
> Fixes: 09584b406742 ("bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y")
> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@...onical.com>
> ---
>   lib/test_bpf.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/test_bpf.c b/lib/test_bpf.c
> index 2efb213716faa..3e9335493fe49 100644
> --- a/lib/test_bpf.c
> +++ b/lib/test_bpf.c
> @@ -5467,7 +5467,7 @@ static struct bpf_test tests[] = {
>   	{
>   		"BPF_MAXINSNS: Jump, gap, jump, ...",
>   		{ },
> -#ifdef CONFIG_BPF_JIT_ALWAYS_ON
> +#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_X86)
>   		CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
>   #else
>   		CLASSIC | FLAG_NO_DATA,
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ