Thu, Mar 21, 2019 at 04:25:09PM CET, andrew@lunn.ch wrote:
On Thu, Mar 21, 2019 at 03:13:43PM +0100, Michal Kubecek wrote:
quoted
On Thu, Mar 21, 2019 at 02:57:05PM +0100, Andrew Lunn wrote:
quoted
On Thu, Mar 21, 2019 at 02:07:35PM +0100, Michal Kubecek wrote:
quoted
+static int __init ethnl_init(void)
+{
+ int ret;
+
+ ret = genl_register_family(ðtool_genl_family);
+ if (ret < 0)
+ panic("ethtool: could not register genetlink family\n");
Panic seems a bit strong. Do we really want to kill the box because
this fails?
When I switched CONFIG_ETHTOOL_NETLINK from tristate to bool, I checked
some other non-modular subsystems to see what they do on failed
initialization and each of them did handle it by panic() so I didn't
think about it too much and did the same.
Thinking about it now, if the family registration fails, the only entry
point to care about should be ethtool_notify() (I'll have to check more
carefully to be sure) so that adding a check there should be sufficient
to let everything work (except for the netlink interface, of course).
Hi Michal
So maybe do a WARN_ON() and return the error code.
+1
Linus has been quite vocal about killing the box when there is no real
need...
Andrew