Subject: Re: [PATCH net-next v5 08/22] ethtool: support for netlink notifications

From: Jiri Pirko <[email-masked]>
Date: Wed, 27 Mar 2019 11:04:41 +0100

Wed, Mar 27, 2019 at 10:51:48AM CET, [email-masked] wrote:
>On Wed, Mar 27, 2019 at 10:38:43AM +0100, Jiri Pirko wrote:
>> Tue, Mar 26, 2019 at 07:17:20PM CET, [email-masked] wrote:
>> >On Tue, Mar 26, 2019 at 05:34:00PM +0100, Jiri Pirko wrote:
>> >> Mon, Mar 25, 2019 at 06:08:18PM CET, [email-masked] wrote:
>> >> >+void ethtool_notify(struct net_device *dev, struct netlink_ext_ack *extack,
>> >> >+		    unsigned int cmd, u32 req_mask, const void *data)
>> >> >+{
>> >> >+	if (unlikely(!ethnl_ok))
>> >> 
>> >> Why do you need this?
>> >
>> >If genetlink family registration fails, ethtool_notify() can be still
>> >called from other code (e.g. the ethtool ioctl interface). In such case,
>> >better bail out right away than fail somewhere later (probably after
>> >preparing the message which can't be sent anyway).
>> 
>> Again, haven't seen this in any other gen netlink implementation. Why do
>> they not need it?
>
>Hi Jiri
>
>All other gen netlink kill the machine dead if they cannot register

Wait, what do you mean be "kill the machine dead"?

>the socket.

Example:
static int __init devlink_init(void)
{
        return genl_register_family(&devlink_nl_family);
}