Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 553934 - sys-fs/udev-220-r3 multiple issues
Summary: sys-fs/udev-220-r3 multiple issues
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: udev maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-04 21:45 UTC by Maciej S. Szmigiero
Modified: 2015-07-22 23:07 UTC (History)
2 users (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 Maciej S. Szmigiero 2015-07-04 21:45:51 UTC
sys-fs/udev-220-r3 has multiple issues:
1) device sysfs attrs aren't loaded
Example output:
# udevadm info --attribute-walk --path=/sys/class/net/eth1

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:13.0/net/eth1':
    KERNEL=="eth1"
    SUBSYSTEM=="net"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:13.0':
    KERNELS=="0000:00:13.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="8139too"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

Notice no ATTR{foo}=="bar" lines.

This breaks all attribute matching.

Fix: http://cgit.freedesktop.org/systemd/systemd/commit/?id=7bb092142e2022edcc9958ce1bd50f59d01c5b6f

2) Error when loading subsystem name:
rules contain 49152 bytes tokens (4096 * 12 bytes), 10810 bytes strings
2799 strings (30209 bytes), 2000 de-duplicated (20199 bytes), 800 trie nodes used
NAME 'eth0' /etc/udev/rules.d/70-persistent-net.rules:1
IMPORT builtin 'net_id' /lib/udev/rules.d/75-net-description.rules:6
sd-device: could not set subsystem for /devices/pci0000:00: No such file or directory
sd-device: could not set subsystem for /devices/pci0000:00: No such file or directory

Fix: http://cgit.freedesktop.org/systemd/systemd/commit/?id=4189708ad0cde8e211e38d27de943579772f8869

3) Cannot match attribute presence:
udevadm trigger --verbose --dry-run --attr-match=xyz123 --action=add
prints all devices in system despite no device actually having xyz123 attribute.
This breaks for example rc_coldplug=no.

Fixes:
http://cgit.freedesktop.org/systemd/systemd/commit/?id=5f529f4c97a141457301477505ae7eb4c28cf610
http://cgit.freedesktop.org/systemd/systemd/commit/?id=54f0b4d9a3e3e1b955d0b0021d9678571d91a5ef
http://cgit.freedesktop.org/systemd/systemd/commit/?id=8927b1dad2d4a7330174cb924090b4635a2547fb (in this commit some file locations have to be changed from 'basic' to 'shared' since they were moved since udev-220 release).


After applying these upstream fixes in order of their commit dates sys-fs/udev-220-r3
seems to work OK.


Reproducible: Always
Comment 1 Mike Gilbert gentoo-dev 2015-07-05 16:11:56 UTC
We should also look into back-porting these for systemd if necessary.
Comment 2 William Hubbs gentoo-dev 2015-07-22 18:48:46 UTC
Do these issues exist with udev-222?
Comment 3 William Hubbs gentoo-dev 2015-07-22 23:07:54 UTC
This is fixed in udev-222.