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: Wed, 7 Jun 2023 00:04:52 +0200
From: Mirsad Goran Todorovac <mirsad.todorovac@....unizg.hr>
To: Guillaume Nault <gnault@...hat.com>
Cc: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>,
 Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
 Paolo Abeni <pabeni@...hat.com>, Shuah Khan <shuah@...nel.org>,
 linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org
Subject: Re: POSSIBLE BUG: selftests/net/fcnal-test.sh: [FAIL][FIX TESTED] in
 vrf "bind - ns-B IPv6 LLA" test

On 6/6/23 20:57, Guillaume Nault wrote:
> On Tue, Jun 06, 2023 at 08:07:36PM +0200, Mirsad Goran Todorovac wrote:
>> On 6/6/23 15:46, Guillaume Nault wrote:
>>> diff --git a/net/ipv6/ping.c b/net/ipv6/ping.c
>>> index c4835dbdfcff..f804c11e2146 100644
>>> --- a/net/ipv6/ping.c
>>> +++ b/net/ipv6/ping.c
>>> @@ -114,7 +114,8 @@ static int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
>>>    	addr_type = ipv6_addr_type(daddr);
>>>    	if ((__ipv6_addr_needs_scope_id(addr_type) && !oif) ||
>>>    	    (addr_type & IPV6_ADDR_MAPPED) ||
>>> -	    (oif && sk->sk_bound_dev_if && oif != sk->sk_bound_dev_if))
>>> +	    (oif && sk->sk_bound_dev_if && oif != sk->sk_bound_dev_if &&
>>> +	     l3mdev_master_ifindex_by_index(sock_net(sk), oif) != sk->sk_bound_dev_if))
>>>    		return -EINVAL;
>>>    	ipcm6_init_sk(&ipc6, np);
>>
>> The problem appears to be fixed:
>>
>> # ./fcnal-test.sh
>> [...]
>> TEST: ping out, vrf device+address bind - ns-B loopback IPv6                  [ OK ]
>> TEST: ping out, vrf device+address bind - ns-B IPv6 LLA                       [ OK ]
>> TEST: ping in - ns-A IPv6                                                     [ OK ]
>> [...]
>> Tests passed: 888
>> Tests failed:   0
>> #
>>
>> The test passed in both environments that manifested the bug.
>>
>> Tested-by: Mirsad Todorovac <mirsad.todorovac@....unizg.hr>
> 
> Thanks. I'll review and post this patch (probably tomorrow).
> 
>> However, test on my AMD Ubuntu 22.04 box with 6.4-rc5 commit a4d7d7011219
>> has shown additional four failed tests:
>>
>> root@...t # grep -n FAIL ../fcnal-test-4.log
>> 90:TEST: ping local, VRF bind - VRF IP                                           [FAIL]
>> 92:TEST: ping local, device bind - ns-A IP                                       [FAIL]
>> 116:TEST: ping local, VRF bind - VRF IP                                           [FAIL]
>> 118:TEST: ping local, device bind - ns-A IP                                       [FAIL]
>> root@...t #
>>
>> But you would probably want me to file a separate bug report?
> 
> Are these new failures? Do they also happen on the -net tree?

I cannot tell if those are new for the architecture (Ubuntu 22.04 + AMD Ryzen)

However, Ubuntu's unsigned 6.3.1 generic mainline kernel is also affected.
So, it might seem like an old problem.

(If you could isolate the exact tests, I could try a bisect.)

[...]
TEST: ping local, VRF bind - ns-A IP                                          [ OK ]
TEST: ping local, VRF bind - VRF IP                                           [FAIL]
TEST: ping local, VRF bind - loopback                                         [ OK ]
TEST: ping local, device bind - ns-A IP                                       [FAIL]
TEST: ping local, device bind - VRF IP                                        [ OK ]
[...]

SYSCTL: net.ipv4.raw_l3mdev_accept=1

[...]
TEST: ping local, VRF bind - ns-A IP                                          [ OK ]
TEST: ping local, VRF bind - VRF IP                                           [FAIL]
TEST: ping local, VRF bind - loopback                                         [ OK ]
TEST: ping local, device bind - ns-A IP                                       [FAIL]
TEST: ping local, device bind - VRF IP                                        [ OK ]
[...]

Yes, just tested, w commit 42510dffd0e2 these are still present
in fcnal-test.sh output:

[...]
TEST: ping local, VRF bind - ns-A IP                                          [ OK ]
TEST: ping local, VRF bind - VRF IP                                           [FAIL]
TEST: ping local, VRF bind - loopback                                         [ OK ]
TEST: ping local, device bind - ns-A IP                                       [FAIL]
TEST: ping local, device bind - VRF IP                                        [ OK ]
[...]
TEST: ping local, VRF bind - ns-A IP                                          [ OK ]
TEST: ping local, VRF bind - VRF IP                                           [FAIL]
TEST: ping local, VRF bind - loopback                                         [ OK ]
TEST: ping local, device bind - ns-A IP                                       [FAIL]
TEST: ping local, device bind - VRF IP                                        [ OK ]
[...]

I have attached the config used and lshw.

Best regards,
Mirsad
Download attachment "config-6.4.0-rc4-net-00208-g42510dffd0e2.xz" of type "application/x-xz" (57744 bytes)

Download attachment "lshw.txt.xz" of type "application/x-xz" (6556 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ