summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-04cgtop: fixup the online helpBrandon Philips
The online help shows the keys as uppercase but the code and manpage say lower case. Make the online help follow reality.
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-09-02keymap: Explicitly match "any product name" for "all models from vendor" rulesMartin Pitt
Without this, the hwdb trie gets mis-sorted to match the more specific rules first, as ":pvr" is lexicographically after ":pn". So ensure that all our matches have some ":pn" match to avoid this trap.
2013-09-02keymap: Fix typo in Latitude/Precision rulesMartin Pitt
We actually want to match the product name, "pn:" makes no sense.
2013-08-30main: drop capabilities of userhelpers before oursHarald Hoyer
First drop the capabilities of the userhelpers before dropping our own, otherwise we might not be allowed to drop the capabilities of the userhelpers. Especially, if we want to drop CAP_SYS_MODULE. Credits: Matteo Sasso
2013-08-30keymap: Don't use spaces in DMI modalias matchesMartin Pitt
Spaces get dropped from DMI modaliases. Replace them with '*' to make them robust against future changes in space escaping.
2013-08-30keymap: Fix Dell vendor namesMartin Pitt
Spaces are dropped from vendor and product names in DMI modaliases, so a match like "svnDell Inc.:" will never happen. Also, some machines use "Dell", some "Dell Inc", some "Dell Inc.", so just match on "Dell*" to avoid all these traps. https://launchpad.net/bugs/1218433
2013-08-29keymap: Don't erase previous assignmentsMartin Pitt
Don't use "KEYBOARD_KEY_xx=!" assignments (i. e. only enabling force-release) if more general matches already explicitly set a key code before, to not override the previously set value. https://launchpad.net/bugs/1218433
2013-08-28Do not realloc strings, which are already in the hashmap as keysHarald Hoyer
This prevents corruption of the hashmap, because we would free() the keys in the hashmap, if the unit is already in there, with the same cgroup path.
2013-08-28Revert "cgroup.c: check return value of unit_realize_cgroup_now()"Harald Hoyer
This reverts commit 1f11a0cdfe397cc404d61ee679fc12f58c0a885b.
2013-08-28cgroup: only check once when mode is UNIT_CHECKGao feng
If the mode is UNIT_CHECK,it means we only want to check if the paramaters are valid. the first round of cycle already did this check, no need to check again.
2013-08-28device cgroup: don't create a new CGroupDeviceAllow when it already in the listGao feng
If a device node is already in the device_allow list of CGroupContext, we should replace it instead of create a new one and append this new one to the end of device_allow list. change from v1: use streq to replace !strcmp
2013-08-28blcokio bandwidth: add missing set of CGroupBlockIODeviceBandwidth's readGao feng
BlockIOReadBandwidth and BlockIOWriteBandwidth both use config_parse_blockio_bandwidth to set up CGroupBlockIODeviceBandwidth, We should set the read value based on the left values in config files.
2013-08-28logind-session.c: use _cleanup_Zbigniew Jędrzejewski-Szmek
2013-08-28logind: be more verbose on errorsZbigniew Jędrzejewski-Szmek
2013-08-28Disallow invalid UTF-8 configurationZbigniew Jędrzejewski-Szmek
It is best to catch such errors early. If invalid UTF-8 ends up being given to dbus methods, the program will crash: process 20801: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_check_is_valid_utf8 (*string_p)" failed in file dbus-message.c line 2598.
2013-08-28shell-completions: systemd-analyze set-log-levelZbigniew Jędrzejewski-Szmek
2013-08-27log to kmsg when "debug" is used on the kernel command lineKay Sievers
2013-08-27keymap: Add Logitech Internet Navigator variant [PID C309]Martin Pitt
By Albrecht Kolthoff <kolthoff@gmx.net> via linux-hotplug@.
2013-08-26keymap: Add Samsung NP53U3CMartin Pitt
https://launchpad.net/bugs/1203853
2013-08-24zsh_completion: Fix --user-unit completionWilliam Giokas
_SYSTEMD_USER_UNIT in the --user-unit flag argument should instead be USER_UNIT. It should also have an optional `=` between the flag and the argument.
2013-08-23Keyboard map for Samsung NP700Z3CHerczeg Zsolt
I'm using Ubuntu 13.04 on a Samsung Series 5 computer and found that that Fn hotkeys does not work.
2013-08-23man: Small grammar fixZbigniew Jędrzejewski-Szmek
Use Oxford comma.
2013-08-23keyboard: add eMachines E725Zbigniew Jędrzejewski-Szmek
Information supplied by Ludvig <enthymeme@lavabit.com>.
2013-08-23zsh_completion: Fix single letter argsWilliam Giokas
Things like -n to specify the lines to show with systemctl and journalctl accepts syntax like: journalctl -n4 systemctl -n14 Previously, typing `-nXX <tab>` where XX is a number, zsh would try to complete an integer. Now it will see the XX and use the _journalctl_none completion. This is also how any of the single letter options that take arguments work as well.
2013-08-23"-" prefix for InaccessibleDirectories and ReadOnlyDirectoriesMaciej Wereski
2013-08-23man: make reference to bind(2) explicitShawn Landden
2013-08-23udev: fix printf(3) type specifierShawn Landden
src/udev/udev-rules.c: In function 'add_rule': src/udev/udev-rules.c:1078:33: warning: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'int' [-Wformat=] log_error("invalid key/value pair in file %s on line %u," ^
2013-08-23blkio: fix incorrect setting of cpu_sharesGao feng
We should set up blockio_weight not cpu_shares.
2013-08-23nspawn: trivial simplificationZbigniew Jędrzejewski-Szmek
2013-08-23cgroup.c: check return value of unit_realize_cgroup_now()Harald Hoyer
do not recurse further, if unit_realize_cgroup_now() failed
2013-08-22Revert "udevd: simplify sigterm check"Colin Walters
This reverts commit 47e737dc13bf4251ae5a2249ec29b34503ed92e1 - it introduced a use-after-free. The only way the code would get simpler is with a cleanup function, but eh, not worth it for just this one bit. Reviewed by kay on IRC.
2013-08-22Optimize startswith() to macroKay Sievers
I guess it's easier and cleaner anyway to use simple static inline functions instead of defines.
2013-08-22remove hasprefix(), use startswith()Shawn Landden
2013-08-22use CAP_MKNOD ConditionCapabilityKhem Raj
Fixes errors seen when booting VMs on QEMU like systemd[1]: kmod-static-nodes.service: main process exited, code=exited, status=203/EXEC systemd[1]: Failed to start Create list of required static device nodes for the current kernel. systemd[1]: Unit kmod-static-nodes.service entered failed state. Make sure that mknod capability is available Signed-off-by: Khem Raj <raj.khem@gmail.com>
2013-08-22man: typoZbigniew Jędrzejewski-Szmek
ohsix> ooh theres a typo in the example
2013-08-22test: Make testing work on systems without or old systemdHolger Hans Peter Freyther
* Introduce a macro to conditionally execute tests. This avoids skipping the entire test if some parts require systemd * Skip the journal tests when no /etc/machine-id is present * Change test-catalog to load the catalog from the source directory of systemd. * /proc/PID/comm got introduced in v2.6.33 but travis is still using v2.6.32. * Enable make check and make distcheck on the travis build * Use -D"CATALOG_DIR=STR($(abs_top_srcdir)/catalog)" as a STRINGIY would result in the path '/home/ich/source/linux' to be expanded to '/home/ich/source/1' as linux is defined to 1.
2013-08-21remove freenode verification fileKay Sievers
2013-08-21add freenode verificationKay Sievers
2013-08-21logs-show: fix condition for ellipsizing multi-line messagesZbigniew Jędrzejewski-Szmek
falconindy> the ellipsizing seems a bit wrong here.... I got a bit carried away with putting dots everywhere :)
2013-08-20logs-show: show source timestamp in verbose modeZbigniew Jędrzejewski-Szmek
This makes verbose behave like short mode, i.e. try to show the source timestamp, and fall back to journald timestamp only if unavailable or unparsable. I think verbose should be like short, only showing more fields, and showing different timestamps would be confusing.
2013-08-20logs-show: add short-precise mode with us timestampsZbigniew Jędrzejewski-Szmek
Also, always show us timestamps in verbose mode. https://bugzilla.redhat.com/show_bug.cgi?id=991678
2013-08-20Rename F_TYPE_CMP() to F_TYPE_EQUAL()Zbigniew Jędrzejewski-Szmek
2013-08-20keymap: add Pavilion dv7 keysZbigniew Jędrzejewski-Szmek
2013-08-20udev: when complaining about invalid characters, print them outZbigniew Jędrzejewski-Szmek
systemd-udevd[6260]: invalid key/value pair in file /usr/lib/udev/rules.d/60-ffado.rules on line 46,starting at character 84 ('#')
2013-08-20gpt-auto-generator: do not show error for non-GPT disksZbigniew Jędrzejewski-Szmek
2013-08-20gpt-auto-generator: use _cleanup_ for blkid_free_probeZbigniew Jędrzejewski-Szmek
2013-08-20gpt-auto-generator: include device name in error reportsZbigniew Jędrzejewski-Szmek
2013-08-20units: disable kmod-static-nodes.service in containersZbigniew Jędrzejewski-Szmek
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=998122. Note: upstream kmod has a patch [1] to exit with a warning if modules.devname is missing. We could use new %v specifier to make this service conditional on the existence of this file, but this could mask a kernel installation error, hence we should let kmod run even if the file doesn't exist. [1] http://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=ae17710117