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: <87o7o2vrd0.fsf@laptop.lockywolf.net>
Date:   Wed, 05 Apr 2023 13:05:02 +0800
From:   Vladimir Nikishkin <vladimir@...ishkin.pw>
To:     Simon Horman <simon.horman@...igine.com>
Cc:     netdev@...r.kernel.org, davem@...emloft.net, edumazet@...gle.com,
        kuba@...nel.org, pabeni@...hat.com,
        eng.alaamohamedsoliman.am@...il.com, gnault@...hat.com,
        razor@...ckwall.org
Subject: Re: [PATCH net-next v5] vxlan: try to send a packet normally if
 local bypass fails


Simon Horman <simon.horman@...igine.com> writes:

> I'm a bit unsure about the logic around dst_release().
> But assuming it is correct, perhaps this is a slightly

Let me try to defend this logic.

In the previous version, if the destination is local (the first "if"),
then there is no need to keep the address in memory any more, hence the
address was free()'d at the beginning of the "if" (and was not freed
after the "if", because the address was still needed at the userspace
part.)

With this patch, the "localbypass" creates one more branch inside that
"if", which is handing over the processing logic to the userspace (which
has no free()). The older two branches _inside_ the "if" (vxlan
found/vxlan not found) are still terminating, and therefore have one
call to free() each.

Ido Schimmel <idosch@...sch.org> writes:

> Also, please add a selftest under tools/testing/selftests/net/. We
> already have a bunch of VXLAN tests that you can use as a reference.

I have added a file
tools/testing/selftests/net/test_vxlan_nolocalbypass.sh
, which is written on the basis of test_vxlan_mdb.sh

Some tests do have a "testing framework" for enumerating and running
tests (for example, those in ./forwarding/lib.sh), and some do not. I
have used the simplest one.

-- 
Your sincerely,
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)
--
Fastmail.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ