summaryrefslogtreecommitdiff
path: root/src/udev/udevd.c
AgeCommit message (Collapse)Author
2014-05-17udev: avoid use of uninitialized errThomas Hindoe Paaboel Andersen
After 1ea972174baba40dbc80c51cbfc4edc49764b59b err is no longer set unless we hit a special case. Initialize it to 0 and remove a check that will never fail. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-05-15udev: do not skip the execution of RUN when renaming a network device failsKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-04-24udev: serialize/synchronize block device event handling with file locksKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-04-24udev: remove seqnum API and all assumptions about seqnumsKay Sievers
The way the kernel namespaces have been implemented breaks assumptions udev made regarding uevent sequence numbers. Creating devices in a namespace "steals" uevents and its sequence numbers from the host. It confuses the "udevadmin settle" logic, which might block until util a timeout is reached, even when no uevent is pending. Remove any assumptions about sequence numbers and deprecate libudev's API exposing these numbers; none of that can reliably be used anymore when namespaces are involved. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-03-21fixed gcc warnings that call returns not checkedlhb-jr
modified: src/collect/collect.c modified: src/udev/udev-node.c modified: src/udev/udevadm-settle.c modified: src/udev/udevd.c
2014-02-21everywhere: always use O_CLOEXEC where it makes senseLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-21everywhere: make use of new0() and macro() macros, and stop using perror()Lennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-02use memzero(foo, length); for all memset(foo, 0, length); callsGreg KH
In trying to track down a stupid linker bug, I noticed a bunch of memset() calls that should be using memzero() to make it more "obvious" that the options are correct (i.e. 0 is not the length, but the data to set). So fix up all current calls to memset(foo, 0, length) to memzero(foo, length). Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-13src/udev: bring up to date with upstream.Anthony G. Basile
These commits were authored by Zbigniew Jędrzejewski-Szmek Tom Gundersen Kay Sievers Lennart Poettering Shawn Landden Daniel Buch Martin Pitt Karel Zak Yang Zhiyong Note: udev_builtin_net_setup_link has *not* been imported. Also still missing from udev-builtin is udev_builtin_uaccess. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09udev: use initialization instead of zeroing in one placeZbigniew Jędrzejewski-Szmek
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09udev: declare some symbols staticKay Sievers
2013-09-10udevd: respect the log-level set in /etc/udev/udev.confTom Gundersen
A regression introduced when we moved to systemd's logging is that the only way to adjust the log-level of the udev daemon is via the env var, kernel commandline or the commandline. This reintroduces support for specifying this in the configuration file. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-08-16fix usage of glibc-specific sys/poll.hrofl0r
sys/poll.h is a legacy alias used by glibc. according to POSIX #include <poll.h> is correct. on GLIBC, the POSIX header includes sys/poll.h, so everything continues working as it should. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-07-31Revert "static-nodes: remove creation of static nodes if HAVE_LIBKMOD"Ian Stakenvicius
This reverts commit aa417a4d83999f6d7f092161d5c411b8cbce9977. Preface: The kmod+tmpfiles static dev-node creation requires two commands to be executed at runtime -- it is not something that will automatically occur without a system's setup being explicitly designed or changed so that these commands are executed. Preface2: In order for the kmod+tmpfiles static dev-node creation to work properly, that -must- be executed at startup before {systemd-,}udevd starts. The reason for this is because udevd will only set permissions on those files at startup, and so if udevd starts beforehand then these nodes will exist with permissions that are (probably) too restrictive. The function in udevd which creates static-nodes is non-fatal and only updates mtime on the devnodes if they already exist. As such, if a system is configured to execute kmod+tmpfiles to create static-nodes, because that must occur first, eudev's udevd will not conflict. Also, if a system does not execute kmod+tmpfiles, then eudev will still create the static devnodes, even if kmod-14 or higher is installed. There *may* be a conflict if kmod+tmpfiles is executed after udevd starts, but as per "preface2" this is not a supported configuration. Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-07-31static-nodes: remove creation of static nodes if HAVE_LIBKMODAnthony G. Basile
This address upstream commit edeb68c53f1cdc452016b4c8512586a70b1262e3 and https://bugs.gentoo.org/show_bug.cgi?id=477890. If eudev is configured with --enable-libkmod then we check for kmod >= 14 and ifdef out the code removed in the upstream commit. Otherwise we retain it for modutils. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-07-30src/udev/udevadm-hwdb.c: rename variable to match upstreamAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-07-30udev: export tags of "dead" device nodes to /run/udev/static_node-tags/Anthony G. Basile
This is upstream 84b6ad702e64db534f67ce32d4dd2fec00a16784 Based on a patch by Kay Sievers. A tag is exported at boot as a symlinks to the device node in the folder /run/udev/static_node-tags/<tagname>/, if the device node exists. These tags are cleaned up by udevadm info --cleanup-db, but are otherwise never removed. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-07-10Fix potential memleak and use-after-free errors as reported by clangIan Stakenvicius
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-07-07Import strxcpyx from upstreamAnthony G. Basile
This commit imports strxcpyx from upstream. This is upstream commit d5a89d7dc17a5ba5cf4fc71f82963c5c94a31c3d Note: there were also some very minor code cleanups to accelerometer.c: line 187 collect.c: lines 35, 140 libudev-device.c: line 780 libudev-hwdb.c: line 300 These are part of upstream commits: 507f22bd0172bff5e5d98145b1419bd472a2c57f 3cf7b686e6b29f78de0af5929602cae4482f6d49 67410e9f73a6cdd8453c78b966451b5151def14a Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-04-09build-sys: fix HAVE/ENABLE_FIRMWAREKay Sievers
This fixes: https://github.com/gentoo/eudev/issues/55 https://bugs.freedesktop.org/show_bug.cgi?id=62864 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-04-04Initial forward-port of rules.d inotify supportIan Stakenvicius
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-04-02udev: updateAnthony G. Basile
This updates the daemon codebase to upstream. Authors: Zbigniew Jędrzejewski-Szmek Lennart Poettering Václav Pavlín Kay Sievers Harald Hoyer Rob Clark Zeeshan Ali (Khattak) See http://cgit.freedesktop.org/systemd/systemd/log/src/udev Ian is signing off but has some concerns on a few of the changes that he may fix in future commits. Signed-off-by: Anthony G. Basile <blueness@gentoo.org> Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-04-02udev: ifdef all firmware special handlingKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org> Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-01-28Add missing ':' to getopt_long 'e'Ian Stakenvicius
Parameter -e is set without additional argument in getopt and this leads to segfault when calling 'udevd -e'. systemd commit 5bbbe461fd4d133eac49f41210e2fd4846f577d8 Author: Lukas Nykryn <lnykryn@redhat.com> Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-01-21Remove the remaining systemd code since it is not needed anymoreIan Stakenvicius
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-01-14Make binaries report udev version compatibility version instead of eudev versionRichard Yao
Software such as dracut performs a sanity check on udev by querying the udev tools for the version. Reporting the eudev version causes this check to fail, so we resort to reporting the udev compatibility versionj. Signed-off-by: Richard Yao <ryao@gentoo.org> Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2012-12-17Fixed some cosmetic naming in log entriesIan Stakenvicius
2012-11-18Include dev-setup.h and cgroup-util.h to explicitly declare functionsRichard Yao
Clang 3.1 indicated that we had implicitly declared several, which is illegal in C99. Signed-off-by: Richard Yao <ryao@gentoo.org>
2012-11-18Fix unused result warningsKacper Kowalik (Xarthisius)
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2012-11-16src/udev/log.c: remove log_parse_environment()Anthony G. Basile
2012-11-16src/udev/Makefile.am: work towards fixing up udev buildAnthony G. Basile
2012-11-16src/udev: work towards building udevAnthony G. Basile
2012-11-12use the same email address everywhereKay Sievers
2012-11-12udev: use usec_t and now()Kay Sievers
2012-10-07udev: allow firmware requests to bypass the dependency trackingKay Sievers
The removal of the TIMEOUT= handling in udevd put firmware requests into the devpath parent/child dependency tracking. Drivers which block in module_init() asking userspace for firmware ran into a 30 sec device timeout. The whole firmware loading willl hopefully move into the kernel and the fragile-since-day-one fake async driver-core device dance involving udev can be retired: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=abb139e75c2cdbb955e840d6331cb5863e409d0e
2012-09-13man: fix a bunch of typos in docsThomas Hindoe Paaboel Andersen
https://bugs.freedesktop.org/show_bug.cgi?id=54501
2012-08-21dev-setup: make NULL as parameter for dev_setup() equivalent to ""Lennart Poettering
2012-08-21dev-setup: allow a path prefix for use in chrootsDave Reisner
With this adjustment, we can reuse this code elsewhere, such as in nspawn.
2012-08-08udev: re-initialize builtins in the daemon process, not in the workerKay Sievers
2012-07-30udev: set log.c's log level from udev's kernel command line optionKay Sievers
2012-07-14udev: avoid creating /dev/kmsg with fopen() to support CONFIG_PRINTK=nKay Sievers
2012-07-13log: correct usage of logging API at a few placesLennart Poettering
2012-07-05udev: add some O_CLOEXECKay Sievers
2012-07-02udev: static nodes - fix default permissions if no rules is givenKay Sievers
<falconindy> kay: just curious -- it looks like nodes created by udev from modules.devname all have 000 perms, and there's nothing in udev that attempts to change this. is it intended? <falconindy> c--------- 1 root root 10, 223 Jul 1 23:10 uinput <kay> falconindy: we might miss the default of 0600 <falconindy> seems like it <kay> falconindy: stuff that has a rule works i guess <kay> falconindy: i'll add the 0600 now
2012-07-02udevd: fix bogus mkdir invocationDave Reisner
The filename parameter passed to mkdir can't contain anything but a garbage value at this point. This was meant to be the full pathname to the new udev DB, as the mkdir_parents() call before it won't create the trailing child directory. [replace mkdir_parents() + mkdir() with mkdir_p() -- kay]
2012-07-02udevd: use ROOTPREFIX to create path to modules.devnameDave Reisner
2012-06-27udev: use the matching binary name "systemd-udevd" in log messagesKay Sievers
2012-06-04udev: kernel cmdline - accept rd.* parametersKay Sievers
2012-06-04udev: reset /proc/self/oom_score_adj in worker processesKay Sievers
Only the main daemon process should be excluded from OOM handling, not the worker processes or their child processes.
2012-06-04udev: limit minimum worker count to 16Kay Sievers