]> git.itanic.dy.fi Git - linux-stable/commit
genetlink: Use internal flags for multicast groups
authorIdo Schimmel <idosch@nvidia.com>
Wed, 20 Dec 2023 15:43:58 +0000 (17:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Dec 2023 08:43:59 +0000 (08:43 +0000)
commitcd4d7263d58ab98fd4dee876776e4da6c328faa3
tree3f8d29bd2988c6daa7f27f90857c5a640b9a7b73
parentf732ba4ac9f3626e235cc33a4f1756f17884dd32
genetlink: Use internal flags for multicast groups

As explained in commit e03781879a0d ("drop_monitor: Require
'CAP_SYS_ADMIN' when joining "events" group"), the "flags" field in the
multicast group structure reuses uAPI flags despite the field not being
exposed to user space. This makes it impossible to extend its use
without adding new uAPI flags, which is inappropriate for internal
kernel checks.

Solve this by adding internal flags (i.e., "GENL_MCAST_*") and convert
the existing users to use them instead of the uAPI flags.

Tested using the reproducers in commit 44ec98ea5ea9 ("psample: Require
'CAP_NET_ADMIN' when joining "packets" group") and commit e03781879a0d
("drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group").

No functional changes intended.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/genetlink.h
net/core/drop_monitor.c
net/mptcp/pm_netlink.c
net/netlink/genetlink.c
net/psample/psample.c