[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250328010427.735657-1-i.abramov@mt-integration.ru>
Date: Fri, 28 Mar 2025 04:04:24 +0300
From: Ivan Abramov <i.abramov@...integration.ru>
To: Alexander Aring <alex.aring@...il.com>
CC: Ivan Abramov <i.abramov@...integration.ru>, Stefan Schmidt
<stefan@...enfreihafen.org>, Miquel Raynal <miquel.raynal@...tlin.com>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Simon
Horman <horms@...nel.org>, <linux-wpan@...r.kernel.org>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<lvc-project@...uxtesting.org>
Subject: [PATCH 0/3] Avoid calling WARN_ON() on allocation failure in cfg802154_switch_netns()
This series was inspired by Syzkaller report on warning in
cfg802154_switch_netns().
WARNING: CPU: 0 PID: 5837 at net/ieee802154/core.c:258 cfg802154_switch_netns+0x3c7/0x3d0 net/ieee802154/core.c:258
Modules linked in:
CPU: 0 UID: 0 PID: 5837 Comm: syz-executor125 Not tainted 6.13.0-rc6-syzkaller-00918-g7b24f164cf00 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:cfg802154_switch_netns+0x3c7/0x3d0 net/ieee802154/core.c:258
Call Trace:
<TASK>
nl802154_wpan_phy_netns+0x13d/0x210 net/ieee802154/nl802154.c:1292
genl_family_rcv_msg_doit net/netlink/genetlink.c:1115 [inline]
genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]
genl_rcv_msg+0xb14/0xec0 net/netlink/genetlink.c:1210
netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219
netlink_unicast_kernel net/netlink/af_netlink.c:1322 [inline]
netlink_unicast+0x7f6/0x990 net/netlink/af_netlink.c:1348
netlink_sendmsg+0x8e4/0xcb0 net/netlink/af_netlink.c:1892
sock_sendmsg_nosec net/socket.c:711 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:726
____sys_sendmsg+0x52a/0x7e0 net/socket.c:2594
___sys_sendmsg net/socket.c:2648 [inline]
__sys_sendmsg+0x269/0x350 net/socket.c:2680
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
This warning is caused by Syzkaller's fault injection, which causes
kstrdup() in device_rename() to fail, so device_rename() returns -ENOMEM.
Since practically such failure is not possible, avoid it, additionally
fixing similar pointless allocation-related warnings.
Ivan Abramov (3):
ieee802154: Restore initial state on failed device_rename() in
cfg802154_switch_netns()
ieee802154: Avoid calling WARN_ON() on -ENOMEM in
cfg802154_switch_netns()
ieee802154: Remove WARN_ON() in cfg802154_pernet_exit()
net/ieee802154/core.c | 51 ++++++++++++++++++++++++-------------------
1 file changed, 29 insertions(+), 22 deletions(-)
--
2.39.5
Powered by blists - more mailing lists