Never call udevadm trigger!

Bug #320200 reported by Scott James Remnant (Canonical)
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dkms (Ubuntu)
Fix Released
Critical
Mario Limonciello
Intrepid
Fix Released
Critical
Unassigned

Bug Description

IMPACT:
DKMS must *NOT* call udevadm trigger.
This will have utterly dire consequences for the installed machine.
Minor bugs will be things like Network Manager and GNOME Power Manager reporting multiple copies of network cards, or batteries.
Major bugs will be apparent corruption of mounted filesystems (e.g. "/usr: data error") until a reboot.
And critical bugs include the entire /dev changing to root:root/660 on upgrade.

ADDRESSING BUG:
This has been fixed in git HEAD, as well as in jaunty.

TEST CASE:
On a system that is using DKMS, try to remove an installed module and reinstall it. When DKMS is using udevadm trigger, you will see your network device duplicated in Network Manager. You will also disconnect and reconnect from the network.

For a specified MODULE and VERSION, the following should be a good test case.

dkms remove -m MODULE -v VERSION --all
/etc/init.d/dkms_autoinstaller start

REGRESSION POTENTIAL:
Anyone that was relying on this behavior of DKMS will have to manually modprobe the module that was just built themselves or in a postinstall. Also, a reboot would resolve this behavior.

Changed in dkms:
importance: Undecided → Critical
status: New → Confirmed
Changed in dkms:
importance: Undecided → Critical
status: New → Confirmed
Revision history for this message
Mario Limonciello (superm1) wrote :
Changed in dkms:
assignee: nobody → superm1
status: Confirmed → Fix Committed
Revision history for this message
Mario Limonciello (superm1) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dkms - 2.0.21.0-0ubuntu1

---------------
dkms (2.0.21.0-0ubuntu1) jaunty; urgency=low

  [ Mario Limonciello ]
  * Don't output useless output on removal (LP: #274792)
  * Depend on linux-headers-generic | linux-headers so that depends are
    resolved for the majority case.
  * Improved bash completion.
  * Improvements to suse driver disk creation.
  * Use an unversioned dependency on bash. (LP: #314774)
  * Promote gcc to Depends (LP: #304014)
  * Set the default behavior to NOT use udevadm trigger. (LP: #320200)

  [ David Gaarenstroom ]
  * Check for /etc/modprobe.d/dkms not just /etc/modprobe.conf (LP: #317238)

  [ Alessio Igor Bogani ]
  * Fix path into man page (LP: #292289)

 -- Mario Limonciello <email address hidden> Thu, 09 Oct 2008 17:54:09 -0500

Changed in dkms:
status: Fix Committed → Fix Released
description: updated
Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

But you haven't fixed it?

It's still possible for dkms to call "udevadm trigger", it's just not the default anymore.

dkms must NEVER call "udevadm trigger", under any circumstance! It's always a bug.

Please remove this code.

Changed in dkms:
status: Fix Released → Confirmed
Revision history for this message
Martin Pitt (pitti) wrote :

Stalling current -proposed upload until this gets resolved in Jaunty.

Revision history for this message
Martin Pitt (pitti) wrote :

I rejected it from the queue for now, since it's not fixed in Jaunty yet.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dkms - 2.0.21.1-0ubuntu1

---------------
dkms (2.0.21.1-0ubuntu1) jaunty; urgency=low

  * Fix misleading error for missing source instead of headers. (LP: #324383)
    Thanks Jonas Kölker.
  * Remove all references to udevadm trigger so that it can't cause problems
    with the system in any situation. (LP: #320200)
  * Fix init script to not stop on shutdown. (LP: #326181)

 -- Mario Limonciello <email address hidden> Fri, 06 Feb 2009 15:49:53 -0600

Changed in dkms:
status: Confirmed → Fix Released
description: updated
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into intrepid-proposed; please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in dkms:
status: Confirmed → Fix Committed
Revision history for this message
Mario Limonciello (superm1) wrote :

Looks to me like it's doing the right thing with the proposed version:

supermario@mlimonciello:~$ lshal | grep eth0
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.5/0000:09:00.0/net/eth0' (string)
  net.interface = 'eth0' (string)
supermario@mlimonciello:~$ sudo dkms build -m kqemu -v 1.3.0~pre11

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=2.6.27-12-generic -C /lib/modules/2.6.27-12-generic/build M=/var/lib/dkms/kqemu/1.3.0~pre11/build.......
cleaning build area....

DKMS: build Completed.
supermario@mlimonciello:~$ sudo dkms install -m kqemu -v 1.3.0~pre11
Running module version sanity check.

kqemu.ko:
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/2.6.27-12-generic/updates/dkms/

depmod....

DKMS: install Completed.
supermario@mlimonciello:~$ lshal | grep eth0
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.5/0000:09:00.0/net/eth0' (string)
  net.interface = 'eth0' (string)
supermario@mlimonciello:~$ apt-cache policy dkms
dkms:
  Installed: 2.0.20.4-0ubuntu2.1
  Candidate: 2.0.20.4-0ubuntu2.1
  Version table:
 *** 2.0.20.4-0ubuntu2.1 0
        500 http://archive.ubuntu.com intrepid-proposed/main Packages
        100 /var/lib/dpkg/status
     2.0.20.4-0ubuntu2 0
        500 http://archive.ubuntu.com intrepid/main Packages

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dkms - 2.0.20.4-0ubuntu2.1

---------------
dkms (2.0.20.4-0ubuntu2.1) intrepid-proposed; urgency=low

  * Backport from trunk:
    - Remove all udevadm trigger support. (LP: #320200)

 -- Mario Limonciello <email address hidden> Fri, 06 Feb 2009 16:25:53 -0600

Changed in dkms:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.