linux-hardened/net/batman-adv
Sven Eckelmann 9e6b5648bb batman-adv: Fix duplicated OGMs on NETDEV_UP
The state of slave interfaces are handled differently depending on whether
the interface is up or not. All active interfaces (IFF_UP) will transmit
OGMs. But for B.A.T.M.A.N. IV, also non-active interfaces are scheduling
(low TTL) OGMs on active interfaces. The code which setups and schedules
the OGMs must therefore already be called when the interfaces gets added as
slave interface and the transmit function must then check whether it has to
send out the OGM or not on the specific slave interface.

But the commit f0d97253fb ("batman-adv: remove ogm_emit and ogm_schedule
API calls") moved the setup code from the enable function to the activate
function. The latter is called either when the added slave was already up
when batadv_hardif_enable_interface processed the new interface or when a
NETDEV_UP event was received for this slave interfac. As result, each
NETDEV_UP would schedule a new OGM worker for the interface and thus OGMs
would be send a lot more than expected.

Fixes: f0d97253fb ("batman-adv: remove ogm_emit and ogm_schedule API calls")
Reported-by: Linus Lüssing <linus.luessing@c0d3.blue>
Tested-by: Linus Lüssing <linus.luessing@c0d3.blue>
Acked-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
2019-06-02 13:33:48 +02:00
..
bat_algo.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_algo.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_iv_ogm.c batman-adv: Fix duplicated OGMs on NETDEV_UP 2019-06-02 13:33:48 +02:00
bat_iv_ogm.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_v.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_v.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_v_elp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-05 14:14:19 -07:00
bat_v_elp.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_v_ogm.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_v_ogm.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bitarray.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bitarray.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bridge_loop_avoidance.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-05 14:14:19 -07:00
bridge_loop_avoidance.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
debugfs.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
debugfs.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
distributed-arp-table.c batman-adv: allow updating DAT entry timeouts on incoming ARP Replies 2019-03-25 10:01:13 +01:00
distributed-arp-table.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
fragmentation.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
fragmentation.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
gateway_client.c batman-adv: Make sysfs support optional 2019-03-25 10:01:11 +01:00
gateway_client.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
gateway_common.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
gateway_common.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
hard-interface.c batman-adv: Fix duplicated OGMs on NETDEV_UP 2019-06-02 13:33:48 +02:00
hard-interface.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
hash.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
hash.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
icmp_socket.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2019-05-07 22:03:58 -07:00
icmp_socket.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
Kconfig batman-adv: Make sysfs support optional 2019-03-25 10:01:11 +01:00
log.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2019-05-07 22:03:58 -07:00
log.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
main.c This feature/cleanup patchset includes the following patches: 2019-05-09 09:44:17 -07:00
main.h This feature/cleanup patchset includes the following patches: 2019-05-09 09:44:17 -07:00
Makefile batman-adv: Make sysfs support optional 2019-03-25 10:01:11 +01:00
multicast.c This feature/cleanup patchset includes the following patches: 2019-05-09 09:44:17 -07:00
multicast.h batman-adv: Add multicast-to-unicast support for multiple targets 2019-03-25 10:01:13 +01:00
netlink.c genetlink: optionally validate strictly/dumps 2019-04-27 17:07:22 -04:00
netlink.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
network-coding.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
network-coding.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
originator.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
originator.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
routing.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
routing.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
send.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
send.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
soft-interface.c batman-adv: Add multicast-to-unicast support for multiple targets 2019-03-25 10:01:13 +01:00
soft-interface.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
sysfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-05 14:14:19 -07:00
sysfs.h batman-adv: Make sysfs support optional 2019-03-25 10:01:11 +01:00
tp_meter.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
tp_meter.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
trace.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
trace.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
translation-table.c batman-adv: fix for leaked TVLV handler. 2019-05-21 23:01:24 +02:00
translation-table.h batman-adv: Add multicast-to-unicast support for multiple targets 2019-03-25 10:01:13 +01:00
tvlv.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
tvlv.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
types.h batman-adv: Fix duplicated OGMs on NETDEV_UP 2019-06-02 13:33:48 +02:00