summaryrefslogtreecommitdiff
path: root/src/libudev
AgeCommit message (Collapse)Author
2013-09-04libudev: enumerate - do not try to match against an empty subsystemKay Sievers
2013-09-04libudev: enumerate: fix NULL-deref for subsystem-matchesDavid Herrmann
udev_device_get_subsystem() may return NULL if no subsystem could be figured out by libudev. This might be due to OOM or if the device disconnected between the udev_device_new() call and udev_device_get_subsystem(). Therefore, we need to handle subsystem==NULL safely. Instead of testing for it in each helper, we treat subsystem==NULL as empty subsystem in match_subsystem(). Backtrace of udev_enumerate with an input-device disconnecting in exactly this time-frame: (gdb) bt #0 0x00007ffff569dc24 in strnlen () from /usr/lib/libc.so.6 #1 0x00007ffff56d9e04 in fnmatch@@GLIBC_2.2.5 () from /usr/lib/libc.so.6 #2 0x00007ffff5beb83d in match_subsystem (udev_enumerate=0x7a05f0, subsystem=0x0) at src/libudev/libudev-enumerate.c:727 #3 0x00007ffff5bebb30 in parent_add_child (enumerate=enumerate@entry=0x7a05f0, path=<optimized out>) at src/libudev/libudev-enumerate.c:834 #4 0x00007ffff5bebc3f in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=0x7a56b0 "/sys/devices/<shortened>/input/input97", maxdepth=maxdepth@entry=254) at src/libudev/libudev-enumerate.c:866 #5 0x00007ffff5bebc54 in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=0x79e8c0 "/sys/devices/<shortened>/input", maxdepth=maxdepth@entry=255) at src/libudev/libudev-enumerate.c:868 #6 0x00007ffff5bebc54 in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=path@entry=0x753190 "/sys/devices/<shortened>", maxdepth=maxdepth@entry=256) at src/libudev/libudev-enumerate.c:868 #7 0x00007ffff5bec7df in scan_devices_children (enumerate=0x7a05f0) at src/libudev/libudev-enumerate.c:882 #8 udev_enumerate_scan_devices (udev_enumerate=udev_enumerate@entry=0x7a05f0) at src/libudev/libudev-enumerate.c:919 #9 0x00007ffff5df8777 in <random_caller> () at some/file.c:181
2013-09-04libudev: fix memleak when enumerating childsDavid Herrmann
We need to free udev-devices again if they don't match. Funny that no-one noticed it yet since valgrind is quite verbose about it. Fix it and free non-matching devices.
2013-08-19libudev-enumerate.c:udev_enumerate_get_list_entry() fixed possible stale pointerHarald Hoyer
If a realloc() happens in syspath_add(), the move_later pointer could point to an invalid memory region. Let move_later store the array index, instead of the pointer to the entry.
2013-08-15typo fixes in man and commentsThomas Hindoe Paaboel Andersen
2013-08-15libudev: fix hwdb validation to look for the *new* fileKay Sievers
2013-07-01hwdb: add --device=<device-id> and --filter=<key name glob>Kay Sievers
2013-07-01hwdb: remove support for (not fully implemented) conditional propertiesKay Sievers
2013-06-10Use stdint.h macros instead of casts to print uint64_t valuesZbigniew Jędrzejewski-Szmek
Casts are visually heavy, and can obscure unwanted truncations.
2013-04-16libudev: remove udev_monitor_new_from_socket() symbolMichael Biebl
This function was removed in v183, so drop it from the symbols versioning file.
2013-04-09libudev: Move -lrt to Libs.privateMichael Biebl
It's only needed for static linking. https://bugs.freedesktop.org/show_bug.cgi?id=63309
2013-03-31Remove some dead codeZbigniew Jędrzejewski-Szmek
Based on coverity report.
2013-03-20libudev: avoid potential misaligned accessesJan Engelhardt
clang reports: src/libudev/libudev-util.c:665:35: warning: cast from "const unsigned char *" to "unsigned int *" increases required alignment from 1 to 4 [-Wcast-align]
2013-03-20libude: remove special handling of "device" link, it should not be usedKay Sievers
2013-03-13libudev: implement udev_device_set_attribute_value()Hannes Reinecke
2013-02-13use streq instead of strcmpThomas Hindoe Paaboel Andersen
2013-02-13use strneq instead of strncmpThomas Hindoe Paaboel Andersen
2013-02-07udev: remove HWDB_BINKay Sievers
2013-01-09udev: move string copy functions to shared/Kay Sievers
2013-01-04udev: net_id - append "dev_id" value if neededKay Sievers
2012-12-31udev: in addition to DEVMODE, honor DEVUID, DEVGID from the ueventKay Sievers
2012-12-17Fix "attribute 'packed' is ignored" warnings when using ClangRichard Yao
Clang 3.1 warned that "attribute 'packed' is ignored". This stems from placing "__attribute__ ((packed))" at the start of structure declarations when common practice is to place it at the end. Signed-off-by: Richard Yao <ryao@gentoo.org>
2012-12-14libudev: validate 'udev' argument to udev_enumerate_new()Michael Terry
https://bugs.freedesktop.org/show_bug.cgi?id=58289
2012-12-11libudev: hwdb: add missing endianess conversionEric Benoit
https://bugs.freedesktop.org/show_bug.cgi?id=58067
2012-11-20libudev: do not resolve $attr{device} symlinksKay Sievers
2012-11-16hwdb: use $(localstatedir)/lib/udev/hwdb.bin for the binary databaseZbigniew Jędrzejewski-Szmek
It's not configuration, so it doesn't belong in udev. Also, remove the catalog when uninstalling udev.
2012-11-15udev: hwdb - properly handle a missing databaseKay Sievers
On Thu, Nov 15, 2012 at 5:05 PM, Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> wrote: > Something like this appeared with latest git: > > Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [364] terminated by signal 11 (Segmentation fault) > Nov 15 16:55:46 fedora-15 [387]: Process 364 (systemd-udevd) dumped core. > Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [364] failed while handling '/devices/virtual/net/lo' > Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [360] terminated by signal 11 (Segmentation fault) > Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [360] failed while handling '/devices/pci0000:00/0000:00:03.0/virtio0/net > Nov 15 16:55:46 fedora-15 [389]: Process 360 (systemd-udevd) dumped core. > > Core was generated by usr/lib/systemd/systemd-udevd'. > Program terminated with signal 11, Segmentation fault. > #0 0x0000000000423c87 in udev_hwdb_get_properties_list_entry (hwdb=0x0, modalias=0x7fffbcd155f0
2012-11-13libudev: avoid leak during realloc failureMauro Dreissig
2012-11-12libudev: update copyright headersKay Sievers
2012-11-12udev: use usec_t and now()Kay Sievers
2012-10-28libudev: hwdb - cleanup list before getting new propertiesKay Sievers
2012-10-28udev: get rid of SYSCONFDIRKay Sievers
2012-10-28Tweak TODOZbigniew Jędrzejewski-Szmek
2012-10-27libudev: import hwdb and export lookup interfaceKay Sievers
2012-10-08udev: remove SYMLINK "unique" optionKay Sievers
2012-09-23libudev: check return value of renameVáclav Pavlín
2012-09-19libudev: remove dead codeKay Sievers
2012-09-17build-sys: __secure_getenv lost dunder in libc 2.17Zbigniew Jędrzejewski-Szmek
2012-09-13man: fix a bunch of typos in docsThomas Hindoe Paaboel Andersen
https://bugs.freedesktop.org/show_bug.cgi?id=54501
2012-09-03shared: in code that might get called from suid programs use ↵Lennart Poettering
__secure_getenv() rather than getenv() It's better to be safe than sorry.
2012-08-10udev: export udev_device_new_from_device_id()Kay Sievers
2012-08-08fix a couple of issues found with llvm-analyzeLennart Poettering
2012-07-31libudev-queue.c: simplified open_queue_fileArvydas Sidorenko
There is no apparent justification for using util_strscpyl on the filename since it's a plain hardcoded path. Older versions used: util_strscpyl(filename, sizeof(filename), SOME_DIR, "/queue.bin", NULL); and when changed nobody bothered to simplify it.
2012-07-15udev: get rid of TEST_PREFIX and use unshare() to fake /sys, /dev, /runKay Sievers
2012-07-14udev: avoid creating /dev/kmsg with fopen() to support CONFIG_PRINTK=nKay Sievers
2012-07-05udev: add some O_CLOEXECKay Sievers
2012-06-18libudev: clarify that udev_monitor_receive_device() is non-blockingKay Sievers
Based on a patch from: Sam Thursfield <ssssam@gmail.com> https://bugs.freedesktop.org/show_bug.cgi?id=51202
2012-06-05udev: remove remaining selinux labeling for file in /runKay Sievers
2012-05-31mkdir: append _label to all mkdir() calls that explicitly set the selinux ↵Kay Sievers
context
2012-05-25udev: silent gcc warningsKay Sievers