OpenCloudOS-Kernel/net/phonet
Kuniyuki Iwashima c246bfbb35 phonet: Handle error of rtnl_register_module().
[ Upstream commit b5e837c86041bef60f36cf9f20a641a30764379a ]

Before commit addf9b90de ("net: rtnetlink: use rcu to free rtnl
message handlers"), once the first rtnl_register_module() allocated
rtnl_msg_handlers[PF_PHONET], the following calls never failed.

However, after the commit, rtnl_register_module() could fail silently
to allocate rtnl_msg_handlers[PF_PHONET][msgtype] and requires error
handling for each call.

Handling the error allows users to view a module as an all-or-nothing
thing in terms of the rtnetlink functionality.  This prevents syzkaller
from reporting spurious errors from its tests, where OOM often occurs
and module is automatically loaded.

Let's use rtnl_register_many() to handle the errors easily.

Fixes: addf9b90de ("net: rtnetlink: use rcu to free rtnl message handlers")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Acked-by: Rémi Denis-Courmont <courmisch@gmail.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-10-17 15:24:30 +02:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile
af_phonet.c phonet: Use netif_rx(). 2022-03-07 11:40:41 +00:00
datagram.c phonet: take correct lock to peek at the RX queue 2024-03-01 13:35:10 +01:00
pep-gprs.c net/sock: Introduce trace_sk_data_ready() 2023-01-23 11:26:50 +00:00
pep.c phonet/pep: fix racy skb_queue_empty() use 2024-03-01 13:35:10 +01:00
pn_dev.c net: Remove redundant if statements 2021-08-05 13:27:50 +01:00
pn_netlink.c phonet: Handle error of rtnl_register_module(). 2024-10-17 15:24:30 +02:00
socket.c sock: Remove ->sendpage*() in favour of sendmsg(MSG_SPLICE_PAGES) 2023-06-24 15:50:13 -07:00
sysctl.c sysctl: pass kernel pointers to ->proc_handler 2020-04-27 02:07:40 -04:00