hi Johannes,

On 9/11/19 4:47 AM, Johannes Berg wrote:
On Fri, 2019-09-06 at 10:43 -0500, Denis Kenzior wrote:

+ *     There are no limits (outside of netlink protocol limits) on
+ *     message sizes that can be sent over the "config2" multicast group. It
+ *     is assumed that applications utilizing "config2" multicast group
+ *     utilize buffers that are inherently large enough or can utilize
+ *     MSG_PEEK/MSG_TRUNC in the netlink transport in order to allocate big
+ *     enough buffers.

I'm not sure I see how the applications could do buffers that are
"inherently" large enough, there's no practical message size limit, is
there (32-bits for the size).

The kernel caps this to 32k right now if I read the code correctly. But fair point.


I'd argue this should just say that applications should use large
buffers and still use MSG_PEEK/handle MSG_TRUNC, but I can also edit it
later.

+       msg = nlmsg_new(alloc_size, GFP_KERNEL);
+       if (!msg)
+               goto legacy;
+
+       if (WARN_ON(nl80211_send_wiphy(rdev, cmd, msg, 0, 0, 0, &state) < 0)) {
+               nlmsg_free(msg);
+               goto legacy;
+       }
+
+       genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
+                               NL80211_MCGRP_CONFIG2, GFP_KERNEL);
+
+legacy:

nit: just use "else" instead of the goto?

I'm not sure I understand?  We want to send both messages here...

Regards,
-Denis

Reply via email to