linux-yocto/net/netlink
Alok Tiwari 98c9d88404 genetlink: fix genl_bind() invoking bind() after -EPERM
[ Upstream commit 1dbfb0363224f6da56f6655d596dc5097308d6f5 ]

Per family bind/unbind callbacks were introduced to allow families
to track multicast group consumer presence, e.g. to start or stop
producing events depending on listeners.

However, in genl_bind() the bind() callback was invoked even if
capability checks failed and ret was set to -EPERM. This means that
callbacks could run on behalf of unauthorized callers while the
syscall still returned failure to user space.

Fix this by only invoking bind() after "if (ret) break;" check
i.e. after permission checks have succeeded.

Fixes: 3de21a8990 ("genetlink: Add per family bind/unbind callbacks")
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Link: https://patch.msgid.link/20250905135731.3026965-1-alok.a.tiwari@oracle.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-09-19 16:35:48 +02:00
..
af_netlink.c net: better track kernel sockets lifetime 2025-08-20 18:30:56 +02:00
af_netlink.h netlink: terminate outstanding dump on socket close 2024-11-07 13:45:34 -08:00
diag.c netlink: fix netlink_diag_dump() return value 2024-02-26 11:46:12 +00:00
genetlink.c genetlink: fix genl_bind() invoking bind() after -EPERM 2025-09-19 16:35:48 +02:00
genetlink.h netlink: create a new header for internal genetlink symbols 2024-04-01 21:44:34 -07:00
Kconfig
Makefile
policy.c netlink: add variable-length / auto integers 2023-10-20 11:43:35 +01:00