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

From: Jiri Pirko
Date: Wed Mar 27 2019 - 06:04:46 EST


Wed, Mar 27, 2019 at 10:51:48AM CET, andrew@xxxxxxx wrote:
>On Wed, Mar 27, 2019 at 10:38:43AM +0100, Jiri Pirko wrote:
>> Tue, Mar 26, 2019 at 07:17:20PM CET, mkubecek@xxxxxxx wrote:
>> >On Tue, Mar 26, 2019 at 05:34:00PM +0100, Jiri Pirko wrote:
>> >> Mon, Mar 25, 2019 at 06:08:18PM CET, mkubecek@xxxxxxx 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);
}