Bug 1540673 - improper module deployment with dkms-nvidia from negativo17
Summary: improper module deployment with dkms-nvidia from negativo17
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: dkms
Version: epel7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Simone Caronni
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-01-31 17:09 UTC by Jay Hilliard
Modified: 2018-05-09 07:16 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-05-09 07:16:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jay Hilliard 2018-01-31 17:09:38 UTC
Description of problem:
dkms creates weak-updates/lib/modules/$KERNEL/$MODULE.ko on kernels that already have a real module in extra/$MODULE.ko

Version-Release number of selected component (if applicable):
RHEL7.4 + EPEL + negativo17

How reproducible:
Always

Steps to Reproduce:
1. install dkms and dkms-nvidia
2. upgrade the kernel
3. check /lib/modules/*/extra and /lib/modules/*/weak-updates

Actual results:
[root@husby ~]# find /lib/modules/*/weak-updates
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates/nvidia-uvm.ko
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates/nvidia.ko
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates/nvidia-drm.ko
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates/nvidia-modeset.ko
/lib/modules/3.10.0-693.el7.x86_64/weak-updates
/lib/modules/3.10.0-693.el7.x86_64/weak-updates/lib
/lib/modules/3.10.0-693.el7.x86_64/weak-updates/lib/modules
/lib/modules/3.10.0-693.el7.x86_64/weak-updates/lib/modules/3.10.0-693.5.2.el7.x86_64
/lib/modules/3.10.0-693.el7.x86_64/weak-updates/lib/modules/3.10.0-693.5.2.el7.x86_64/nvidia-uvm.ko
/lib/modules/3.10.0-693.el7.x86_64/weak-updates/lib/modules/3.10.0-693.5.2.el7.x86_64/nvidia.ko
/lib/modules/3.10.0-693.el7.x86_64/weak-updates/lib/modules/3.10.0-693.5.2.el7.x86_64/nvidia-drm.ko
/lib/modules/3.10.0-693.el7.x86_64/weak-updates/lib/modules/3.10.0-693.5.2.el7.x86_64/nvidia-modeset.ko

[root@husby ~]# find /lib/modules/*/extra
/lib/modules/3.10.0-693.5.2.el7.x86_64/extra
/lib/modules/3.10.0-693.el7.x86_64/extra
/lib/modules/3.10.0-693.el7.x86_64/extra/nvidia-uvm.ko
/lib/modules/3.10.0-693.el7.x86_64/extra/nvidia.ko
/lib/modules/3.10.0-693.el7.x86_64/extra/nvidia-drm.ko
/lib/modules/3.10.0-693.el7.x86_64/extra/nvidia-modeset.ko

kernel 693 still has real modules in extra, but now also has a mess in weak-updates, and dkms status shows:

# dkms status
nvidia, 384.90, 3.10.0-693.5.2.el7.x86_64, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
nvidia, 384.90, 3.10.0-693.el7.x86_64, x86_64: installed

Later when kernel 693 is removed, the "extra" modules are not preserved and they disappear, breaking the weak-module links in other kernels.

Expected results:
[root@husby ~]# find /lib/modules/*/weak-updates
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates/nvidia-uvm.ko
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates/nvidia.ko
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates/nvidia-drm.ko
/lib/modules/3.10.0-693.5.2.el7.x86_64/weak-updates/nvidia-modeset.ko
/lib/modules/3.10.0-693.el7.x86_64/weak-updates

[root@husby ~]# find /lib/modules/*/extra
/lib/modules/3.10.0-693.5.2.el7.x86_64/extra
/lib/modules/3.10.0-693.el7.x86_64/extra
/lib/modules/3.10.0-693.el7.x86_64/extra/nvidia-uvm.ko
/lib/modules/3.10.0-693.el7.x86_64/extra/nvidia.ko
/lib/modules/3.10.0-693.el7.x86_64/extra/nvidia-drm.ko
/lib/modules/3.10.0-693.el7.x86_64/extra/nvidia-modeset.ko

no weak-updates should exist for kernel 693 for the nvidia drivers.


Additional info:

Comment 1 Simone Caronni 2018-03-06 15:59:16 UTC
Hello, it seems you installed both the binary modules and the DKMS ones.

The binary modules are installed in weak-updates as they are being compiled with kABI support and can survive multiple kernel updates in binary form.

The DKMS ones are built and installed under extra.

Can you do this command on your system and paste it here?

# rpm -qa \*nvidia\* | sort


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