mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
libudev: do not set DEVNAME= twice
When we read the 'uevent' file we need to make sure, that we do not read the relative DEVNAME= path provided by the kernel and overwrite the absolute path udev expects here.
This commit is contained in:
parent
430959910f
commit
d2b795f2b9
@ -77,7 +77,7 @@ SED_PROCESS = \
|
||||
# libudev
|
||||
# ------------------------------------------------------------------------------
|
||||
LIBUDEV_CURRENT=13
|
||||
LIBUDEV_REVISION=0
|
||||
LIBUDEV_REVISION=1
|
||||
LIBUDEV_AGE=13
|
||||
|
||||
SUBDIRS += src/docs
|
||||
|
16
NEWS
16
NEWS
@ -1,3 +1,19 @@
|
||||
udev 178
|
||||
========
|
||||
Bugfix for the firmware loading behavior with kernel modules which
|
||||
try to load firmware in the module_init() path. The blocked event
|
||||
runs into a timout now, which should allow the firmware to be loaded.
|
||||
|
||||
Bugfix for a wrong DEVNAME= export, which breaks at least the udev-acl
|
||||
tool.
|
||||
|
||||
Bugfix for missing ID_ properties for GPT partitions.
|
||||
|
||||
The RUN+="socket:.." option is deprecated and should not be used. A warning
|
||||
during rules parsing is printed now. Services which listen to udev events,
|
||||
need to subscribe to the netlink messages with libudev and not let udev block
|
||||
in the rules execution until the message is delivered.
|
||||
|
||||
udev 177
|
||||
========
|
||||
Bugfix for rule_generator instalation.
|
||||
|
@ -548,16 +548,23 @@ int udev_device_read_uevent_file(struct udev_device *udev_device)
|
||||
continue;
|
||||
pos[0] = '\0';
|
||||
|
||||
if (strncmp(line, "DEVTYPE=", 8) == 0)
|
||||
if (strncmp(line, "DEVTYPE=", 8) == 0) {
|
||||
udev_device_set_devtype(udev_device, &line[8]);
|
||||
else if (strncmp(line, "MAJOR=", 6) == 0)
|
||||
continue;
|
||||
}
|
||||
if (strncmp(line, "IFINDEX=", 8) == 0) {
|
||||
udev_device_set_ifindex(udev_device, strtoull(&line[8], NULL, 10));
|
||||
continue;
|
||||
}
|
||||
if (strncmp(line, "DEVNAME=", 8) == 0) {
|
||||
udev_device_set_devnode(udev_device, &line[8]);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strncmp(line, "MAJOR=", 6) == 0)
|
||||
maj = strtoull(&line[6], NULL, 10);
|
||||
else if (strncmp(line, "MINOR=", 6) == 0)
|
||||
min = strtoull(&line[6], NULL, 10);
|
||||
else if (strncmp(line, "IFINDEX=", 8) == 0)
|
||||
udev_device_set_ifindex(udev_device, strtoull(&line[8], NULL, 10));
|
||||
else if (strncmp(line, "DEVNAME=", 8) == 0)
|
||||
udev_device_set_devnode(udev_device, &line[8]);
|
||||
else if (strncmp(line, "DEVMODE=", 8) == 0)
|
||||
udev_device->devnode_mode = strtoul(&line[8], NULL, 8);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user