modalias char-major-10-130

From: Jean Delvare
Date: Wed Jul 03 2013 - 08:33:45 EST


Hi Wim,

All watchdog drivers include:

MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);

which causes a modalias char-major-10-130 to be added to every watchdog
driver module. As a result, any access to /dev/watchdog on a system with
no watchdog driver loaded and working will result in an attempt to load
several dozen drivers. At best one or two will actually work, the others
will:

* Waste time failing to load.
* Waste memory succeeding to load but not finding any device to bind to.
* Pollute the kernel log.
* Sometimes even load while they should not and break the system. I just
had a report about advantechwdt doing that on some systems.

And the attempt order will presumably be random, so it might as well
load softdog before a hardware-based watchdog which would have been
preferred.

This looks so 90s. Drivers for enumerated devices have hardware-based
modaliases, so char-major-10-130 shouldn't be needed. Other drivers
should certainly not be loaded randomly if they need to poke the
hardware to detect the presence of a supported device.

My opinion is that the char-major-10-130 modalias should ONLY be defined
by user-space, when the user knows he/she needs a watchdog driver which
doesn't support auto-loading via hardware-based auto-loading.

So, can we please get rid of all these
MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR) statements? They do more harm than
good as far as I can see.

Thanks,
--
Jean Delvare
Suse L3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/