]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
batman-adv: Request iflink once in batadv-on-batadv check
authorSven Eckelmann <sven@narfation.org>
Sun, 27 Feb 2022 23:01:24 +0000 (00:01 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 20 May 2022 13:17:25 +0000 (15:17 +0200)
commite3046eabd763e9ed8ad8f4126552eea143e2214e
tree67f66ad122182374d18ede961afbe4d993f41d6e
parent3063a65fd6bb88927cdf50f4902119a1ef5456f9
batman-adv: Request iflink once in batadv-on-batadv check

BugLink: https://bugs.launchpad.net/bugs/1969239
commit 690bb6fb64f5dc7437317153902573ecad67593d upstream.

There is no need to call dev_get_iflink multiple times for the same
net_device in batadv_is_on_batman_iface. And since some of the
.ndo_get_iflink callbacks are dynamic (for example via RCUs like in
vxcan_get_iflink), it could easily happen that the returned values are not
stable. The pre-checks before __dev_get_by_index are then of course bogus.

Fixes: b7eddd0b3950 ("batman-adv: prevent using any virtual device created on batman-adv as hard-interface")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
net/batman-adv/hard-interface.c