Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 613094 - sys-apps/openrc should not use blacklist when processing /etc/conf.d/modules
Summary: sys-apps/openrc should not use blacklist when processing /etc/conf.d/modules
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: OpenRC (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: OpenRC Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-18 11:13 UTC by Andreas Steinmetz
Modified: 2017-04-07 14:54 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Steinmetz 2017-03-18 11:13:43 UTC
When processing /etc/conf.d/modules, /etc/init.d/modules uses --use-blacklist.
I do believe this is due to bug 594012.

The problem is that modules that are loaded in undeterminable sequence need to be blacklisted and loaded manually in proper sequence via /etc/init.d/modules which now can't be done anymore.

In my case this caused instant system shutdown after boot. Reason:

radeon, coretemp and nct6775 must be loaded in exactly this sequence for
sys-apps/watchdog to access the configured sensors correctly. Otherwise watchdog will use a broken nct6775 temperature value as cpu temperature and perform an instant system shutdown.

The reason for this is that watchdog requires absolute paths in its configuration file, e.g. /sys/class/hwmon/hwmonX/temp1_input but the X depends on the module load sequence.

The sensible thing would be to load modules specified in /etc/conf.d/modules without consulting the blacklist as these are explicitely configured to be loaded exactly at this time and in the given sequence.
Comment 1 William Hubbs gentoo-dev 2017-03-22 16:20:34 UTC
Hi, I'm a bit unclear about your configuration.

My understanding of blacklisting is that if you don't want a module to
load it should be blacklisted, so I'm a bit unclear on why you would
want to load a blacklisted module.

Also, if you remove these modules from the blacklist, how are they being
loaded??
Comment 2 Andreas Steinmetz 2017-03-22 18:08:57 UTC
It is actually quite easily explained.

A blacklisted module is a module that is not to be loaded automatically by any means like udev as the module may be loaded in arbitrary order with regard to other modules.

Still a blacklisted module may then be loaded manually, explicitely, in well specified order and early during boot by means of /etc/conf.d/modules.

If you use "--use-blacklist" for /etc/conf.d/modules then there is no "official" way to load a module sequence in well defined order during early boot anymore.

And this breaks working setups as people expect that blacklisting a module will make udev leave the module alone but will consider (as I do) that /etc/conf.d/modules is a manual load during early boot and thus not prone to backlisting.

You should remember that blacklisting a module does not mean you do not want to load a module but that you do not want to load it automatically. Still you may want to load it explicitely and if possible early during boot.

After all, a human operator does configure the blacklist as well as the modules to be loaded "manually" so the operator's choice should be respected in expectation that there is a valid reason for the choice.

I do hope the above does clarify things.
Comment 3 William Hubbs gentoo-dev 2017-03-23 19:46:48 UTC
I'm not opposed to your suggestion; I want to get more information
to possibly rule out other issues.

Which version of udev or eudev are you using?

Also, what do the following commands show:

modinfo radeon
modinfo coretemp
modinfo nct6775

Thanks for your time. :-)
Comment 4 William Hubbs gentoo-dev 2017-04-07 14:54:29 UTC
I am moving this to needinfo for now.
Please feel free to re-open when you are able to respond to my previous
comment.

Thanks much,

William