android_kernel_asus_sm8350/net/batman-adv
Sven Eckelmann c5f261825f batman-adv: Hold rtnl lock during MTU update via netlink
commit 987aae75fc1041072941ffb622b45ce2359a99b9 upstream.

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: c6a953cce8d0 ("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-30 16:27:25 +02:00
..
bat_algo.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_algo.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
bat_iv_ogm.c batman-adv: Avoid WARN_ON timing related checks 2021-06-23 14:41:23 +02:00
bat_iv_ogm.h batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
bat_v_elp.c batman-adv: Do not get eth header before batadv_check_management_packet 2023-08-30 16:27:25 +02:00
bat_v_elp.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
bat_v_ogm.c batman-adv: Fix batadv_v_ogm_aggr_send memory leak 2023-08-30 16:27:25 +02:00
bat_v_ogm.h batman-adv: BATMAN_V: introduce per hard-iface OGMv2 queues 2019-08-04 22:22:00 +02:00
bat_v.c batman-adv: BATMAN_V: introduce per hard-iface OGMv2 queues 2019-08-04 22:22:00 +02:00
bat_v.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 net: batman-adv: fix error handling 2021-11-02 19:46:14 +01:00
bridge_loop_avoidance.h batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh 2020-10-01 13:18:19 +02:00
debugfs.c batman-adv: no need to check return value of debugfs_create functions 2019-06-27 19:25:04 +02:00
debugfs.h batman-adv: no need to check return value of debugfs_create functions 2019-06-27 19:25:04 +02:00
distributed-arp-table.c batman-adv: Broken sync while rescheduling delayed work 2023-06-14 10:59:56 +02:00
distributed-arp-table.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
fragmentation.c batman-adv: Don't skb_split skbuffs with frag_list 2022-05-18 09:47:24 +02:00
fragmentation.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
gateway_client.c batman-adv: Avoid uninitialized chaddr when handling DHCP 2020-09-09 19:12:23 +02:00
gateway_client.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
gateway_common.c batman-adv: Fix includes for *_MAX constants 2019-05-25 12:59:53 +02:00
gateway_common.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
hard-interface.c batman-adv: Don't increase MTU when set by user 2023-08-30 16:27:25 +02:00
hard-interface.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
hash.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
hash.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
icmp_socket.c batman-adv: no need to check return value of debugfs_create functions 2019-06-27 19:25:04 +02:00
icmp_socket.h batman-adv: no need to check return value of debugfs_create functions 2019-06-27 19:25:04 +02:00
Kconfig net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
log.c batman-adv: set .owner to THIS_MODULE 2020-12-02 08:49:50 +01:00
log.h batman-adv: Add missing include for atomic functions 2019-05-25 12:59:53 +02:00
main.c net: batman-adv: fix error handling 2021-11-02 19:46:14 +01:00
main.h batman-adv: Start new development cycle 2019-07-22 21:34:14 +02:00
Makefile batman-adv: Make sysfs support optional 2019-03-25 10:01:11 +01:00
multicast.c ipv6: make mc_forwarding atomic 2022-04-15 14:18:32 +02:00
multicast.h batman-adv: mcast: don't send link-local multicast to mcast routers 2022-01-11 15:23:32 +01:00
netlink.c batman-adv: Hold rtnl lock during MTU update via netlink 2023-08-30 16:27:25 +02:00
netlink.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
network-coding.c net: batman-adv: fix error handling 2021-11-02 19:46:14 +01:00
network-coding.h batman-adv: no need to check return value of debugfs_create functions 2019-06-27 19:25:04 +02:00
originator.c batman-adv: mcast: detect, distribute and maintain multicast router presence 2019-06-27 19:25:05 +02:00
originator.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
routing.c batman-adv: mcast/TT: fix wrongly dropped or rerouted packets 2020-10-01 13:18:17 +02:00
routing.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
send.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
send.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
soft-interface.c batman-adv: Don't increase MTU when set by user 2023-08-30 16:27:25 +02:00
soft-interface.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
sysfs.c batman-adv: Fix refcnt leak in batadv_store_throughput_override 2020-05-14 07:58:28 +02:00
sysfs.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
tp_meter.c batman-adv: Fix includes for *_MAX constants 2019-05-25 12:59:53 +02:00
tp_meter.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02: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 TT global entry leak when client roamed back 2023-08-30 16:27:25 +02:00
translation-table.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
tvlv.c batman-adv: Drop license boilerplate 2019-03-25 09:31:35 +01:00
tvlv.h batman-adv: Use includes instead of fwdecls 2019-05-25 12:59:53 +02:00
types.h batman-adv: Don't increase MTU when set by user 2023-08-30 16:27:25 +02:00