sd-device: make sd_device_new_from_path() accept relative path to device node

Even though udevadm accepts relative syspath, previously, udevadm
could not use relative path to device node:
===
$ cd /dev
$ udevadm info sda
Bad argument "sda", expected an absolute path in /dev/ or /sys/ or a unit name: Invalid argument
$ udevadm info /usr/../dev/sda
Unknown device "/usr/../dev/sda": No such device
===
With this change, both the above cases work fine.

Note, still sd_device_new_from_devname() requires absolute path starts
with /dev/, for safety.
This commit is contained in:
Yu Watanabe
2025-01-09 09:57:19 +01:00
committed by Lennart Poettering
parent b8582198ca
commit cdd53cb74b
2 changed files with 26 additions and 10 deletions
+5
View File
@@ -103,6 +103,11 @@ udevadm info -e --initialized-nomatch >/dev/null
# udevadm info -c
udevadm info -w /sys/class/net/$netdev
udevadm info --wait-for-initialization=5 /sys/class/net/$netdev
pushd /dev
udevadm info null >/dev/null
udevadm info ./null >/dev/null
popd
udevadm info /usr/../dev/null >/dev/null
udevadm info -h
assert_rc 124 timeout 1 udevadm monitor