Bug ID | 1093213 |
---|---|
Summary | dracut: module firmware semantic gap |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Enhancement |
Priority | P5 - None |
Component | Basesystem |
Assignee | bnc-team-screening@forge.provo.novell.com |
Reporter | lurodriguez@suse.com |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
The MODULE_FIRMWARE() macro extends the modinfo for a module to add required firmware. This is used by dract on /usr/lib/dracut/dracut-init.sh to iterate over modules and for modules which it detects are installed on initramfs, it only complains if the firmware is not present on /lib/firmware. for _fw in $(modinfo -k $kernel -F firmware $1 2>/dev/null); do This is also the mechanism currently upstream on dracut. However MODULE_FIRMWARE() is not used for certain firmware files where the driver constructs the name at runtime dynamically. This could mean a failure for drivers which miss their firmware and don't have a reprobe trigger of some sort. Many modules may simply fail if the firmware is not loaded early, as they have no reprobe. Unloading and loading can help but that is in no way user friendly. Its unclear exactly which modules this could fail for at this point as there is no way to check for this. This semantic gap was brought up recently in light of IMA's future possible use for relying on the modinfo set by MODULE_FIRMWARE() also for building the new future IMA firmware signing policies [0]. [0] http://lkml.kernel.org/r/20180514192853.GM27853@wotan.suse.de