linux-stable/net/batman-adv
Sven Eckelmann 987aae75fc batman-adv: Hold rtnl lock during MTU update via netlink
The automatic recalculation of the maximum allowed MTU is usually triggered
by code sections which are already rtnl lock protected by callers outside
of batman-adv. But when the fragmentation setting is changed via
batman-adv's own batadv genl family, then the rtnl lock is not yet taken.

But dev_set_mtu requires that the caller holds the rtnl lock because it
uses netdevice notifiers. And this code will then fail the check for this
lock:

  RTNL: assertion failed at net/core/dev.c (1953)

Cc: stable@vger.kernel.org
Reported-by: syzbot+f8812454d9b3ac00d282@syzkaller.appspotmail.com
Fixes: c6a953cce8 ("batman-adv: Trigger events for auto adjusted MTU")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20230821-batadv-missing-mtu-rtnl-lock-v1-1-1c5a7bfe861e@narfation.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-08-22 17:25:10 -07:00
..
bat_algo.c
bat_algo.h
bat_iv_ogm.c batman-adv: Drop prandom.h includes 2023-01-06 08:43:02 +01:00
bat_iv_ogm.h
bat_v.c
bat_v.h
bat_v_elp.c batman-adv: Do not get eth header before batadv_check_management_packet 2023-07-28 15:39:38 +02:00
bat_v_elp.h
bat_v_ogm.c batman-adv: Fix batadv_v_ogm_aggr_send memory leak 2023-08-09 17:33:03 +02:00
bat_v_ogm.h
bitarray.c
bitarray.h
bridge_loop_avoidance.c
bridge_loop_avoidance.h
distributed-arp-table.c batman-adv: Broken sync while rescheduling delayed work 2023-05-26 23:14:49 +02:00
distributed-arp-table.h
fragmentation.c
fragmentation.h
gateway_client.c
gateway_client.h
gateway_common.c batman-adv: tvlv: prepare for tvlv enabled multicast packet type 2023-01-21 19:01:59 +01:00
gateway_common.h
hard-interface.c batman-adv: Don't increase MTU when set by user 2023-07-20 08:56:33 +02:00
hard-interface.h
hash.c
hash.h
Kconfig
log.c
log.h
main.c
main.h batman-adv: Start new development cycle 2023-01-06 08:42:59 +01:00
Makefile
multicast.c batman-adv: tvlv: prepare for tvlv enabled multicast packet type 2023-01-21 19:01:59 +01:00
multicast.h batman-adv: mcast: remove now redundant single ucast forwarding 2023-01-21 19:01:59 +01:00
netlink.c batman-adv: Hold rtnl lock during MTU update via netlink 2023-08-22 17:25:10 -07:00
netlink.h
network-coding.c batman-adv: tvlv: prepare for tvlv enabled multicast packet type 2023-01-21 19:01:59 +01:00
network-coding.h
originator.c
originator.h
routing.c batman-adv: tvlv: prepare for tvlv enabled multicast packet type 2023-01-21 19:01:59 +01:00
routing.h
send.c
send.h
soft-interface.c batman-adv: Don't increase MTU when set by user 2023-07-20 08:56:33 +02:00
soft-interface.h
tp_meter.c
tp_meter.h
trace.c
trace.h
translation-table.c batman-adv: Fix TT global entry leak when client roamed back 2023-08-05 08:02:01 +02:00
translation-table.h
tvlv.c batman-adv: tvlv: prepare for tvlv enabled multicast packet type 2023-01-21 19:01:59 +01:00
tvlv.h batman-adv: tvlv: prepare for tvlv enabled multicast packet type 2023-01-21 19:01:59 +01:00
types.h batman-adv: Don't increase MTU when set by user 2023-07-20 08:56:33 +02:00