genetlink: make multicast groups const, prevent abuse
Register generic netlink multicast groups as an array with the family and give them contiguous group IDs. Then instead of passing the global group ID to the various functions that send messages, pass the ID relative to the family - for most families that's just 0 because the only have one group. This avoids the list_head and ID in each group, adding a new field for the mcast group ID offset to the family. At the same time, this allows us to prevent abusing groups again like the quota and dropmon code did, since we can now check that a family only uses a group it owns. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
68eb55031d
commit
2a94fe48f3
@@ -86,7 +86,6 @@ void wimax_rfkill_rm(struct wimax_dev *);
|
||||
|
||||
/* generic netlink */
|
||||
extern struct genl_family wimax_gnl_family;
|
||||
extern struct genl_multicast_group wimax_gnl_mcg;
|
||||
|
||||
/* ops */
|
||||
int wimax_gnl_doit_msg_from_user(struct sk_buff *skb, struct genl_info *info);
|
||||
|
Reference in New Issue
Block a user