Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1522994 - depmod does not find kernel modules specified through override
depmod does not find kernel modules specified through override
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kmod (Show other bugs)
7.4
All Linux
urgent Severity high
: rc
: ---
Assigned To: Yauheni Kaliuta
Ziqian SUN (Zamir)
: ZStream
: 1525370 (view as bug list)
Depends On:
Blocks: 1525364
  Show dependency treegraph
 
Reported: 2017-12-06 18:10 EST by Kyle Smith
Modified: 2018-07-26 13:09 EDT (History)
14 users (show)

See Also:
Fixed In Version: kmod-20-21.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1525364 (view as bug list)
Environment:
Last Closed: 2018-04-10 09:50:24 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0799 None None None 2018-04-10 09:51 EDT

  None (edit)
Description Kyle Smith 2017-12-06 18:10:32 EST
Description of problem:
When attempting to depmod a kernel module using an "override" in a configuration file in /etc/depmod.d, the original module is selected as a higher priority, making it impossible to ever load an external module.

Version-Release number of selected component (if applicable):
kmod-20-15.el7_4.6
https://access.redhat.com/errata/RHBA-2017:3326

How reproducible:
Every time

Steps to Reproduce:
1. Create kernel module to use with override directive
2. echo "override <kmod-name> 3.10.0-* <kmod-name>" > /etc/depmod.d.<kmod-name>.conf
3. depmod
4. check /usr/lib/`uname -r`/modules.dep for <kmod-name>

Installing a kmod package should also cover steps 1-3

Actual results:
modules.dep contains original kernel module

Expected results:
modules.dep contains new module

Additional info:
Looking at depmod.c, and the function depmod_module_is_higher_priority in particular, there seems to have been a bug introduced when moving from el7_4.4 to el7_4.6.

newlen (and oldlen) were -= to cfg->dirnamelen + 1 in el7_4.4. However, in el7_4.6 they were expanded into new variables relnewlen and reloldlen which were made equal to {new,old}len - cfg->dirnamelen + 1. I believe these variables should be set equal to {new,old}len - (cfg->dirnamelen + 1) if we were to maintain the original arithmetic. Initial testing seems to prove that adding the parentheses should resolve the issue.
Comment 2 Yauheni Kaliuta 2017-12-08 04:54:35 EST
Thank you a lot for the the report, the fix has been accepted by the upstream at the moment https://github.com/lucasdemarchi/kmod/commit/bb83f6ac68fe66c6e17afcab2cd6c2712e5c570e
Comment 7 Radosław Piliszek 2017-12-12 07:40:39 EST
This is blocker for Mellanox OFED as its kmod packages use overrides.
Comment 9 Akemi Yagi 2018-01-02 13:16:37 EST
Just a note to add that the issue affects ELRepo's kmod packages that require the override function.
Comment 10 Alaa Hleihel 2018-01-09 10:43:23 EST
Hi,

This issue exist also in RHEL 7.5 Beta.
Please include the fix in the next RHEL 7.5 Beta/RC.

Thanks,
Alaa
Comment 13 Stanislav Kozina 2018-01-29 03:33:29 EST
*** Bug 1525370 has been marked as a duplicate of this bug. ***
Comment 16 errata-xmlrpc 2018-04-10 09:50:24 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0799

Note You need to log in before you can comment on or make changes to this bug.