Subject: Re: [patch net-next 6/8] genetlink: introduce helpers to do filtered multicast

From: Andy Shevchenko <[email-masked]>
Date: Wed, 15 Nov 2023 16:53:37 +0200

On Wed, Nov 15, 2023 at 03:17:22PM +0100, Jiri Pirko wrote:
> From: Jiri Pirko <[email-masked]>
> 
> Currently it is possible for netlink kernel user to pass custom
> filter function to broadcast send function netlink_broadcast_filtered().
> However, this is not exposed to multicast send and to generic
> netlink users.
> 
> Extend the api and introduce a netlink helper nlmsg_multicast_filtered()
> and a generic netlink helper genlmsg_multicast_netns_filtered()
> to allow generic netlink families to specify filter function
> while sending multicast messages.

...

> +/**
> + * genlmsg_multicast_netns_filtered - multicast a netlink message
> + *				      to a specific netns with filter
> + *				      function
> + * @family: the generic netlink family
> + * @net: the net namespace
> + * @skb: netlink message as socket buffer
> + * @portid: own netlink portid to avoid sending to yourself
> + * @group: offset of multicast group in groups array
> + * @flags: allocation flags
> + * @filter: filter function
> + * @filter_data: filter function private data

	scripts/kernel-doc -v -none -Wall ...

will complain.

> + */

...

> +				 int (*filter)(struct sock *dsk,
> +					       struct sk_buff *skb,
> +					       void *data),

Since it occurs more than once, perhaps

typedef int (*genlmsg_filter_fn)(struct sock *, struct sk_buff *, void *);

?

...

>  /**
> - * nlmsg_multicast - multicast a netlink message
> + * nlmsg_multicast_filtered - multicast a netlink message with filter function
>   * @sk: netlink socket to spread messages to
>   * @skb: netlink message as socket buffer
>   * @portid: own netlink portid to avoid sending to yourself
>   * @group: multicast group id
>   * @flags: allocation flags
> + * @filter: filter function
> + * @filter_data: filter function private data

I believe same complain by kernel-doc here and in more places...

Can you at least make sure your patches do not add new ones and removes ones
where you touch the code?

-- 
With Best Regards,
Andy Shevchenko