chiark / gitweb /
8 years agologin: fix login_is_valid test
Zbigniew Jędrzejewski-Szmek [Mon, 16 Sep 2013 16:04:20 +0000 (11:04 -0500)]
login: fix login_is_valid test

8 years agoudev-rules: avoid erroring on trailing whitespace
Dave Reisner [Mon, 16 Sep 2013 15:22:35 +0000 (11:22 -0400)]
udev-rules: avoid erroring on trailing whitespace

8 years agobuild: check for build/link flags harder
David Herrmann [Fri, 13 Sep 2013 10:42:12 +0000 (12:42 +0200)]
build: check for build/link flags harder

Use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE to test for flags that
might succeed during compilation but not during linking. An example is gcc
compiled with libssp support but gnu-ld without it. In this case
-fstack-protector works fine during compilation but fails during linking
as several internal helpers are missing.

8 years agoVerify validity of session name when received from outside
Zbigniew Jędrzejewski-Szmek [Mon, 16 Sep 2013 02:26:56 +0000 (22:26 -0400)]
Verify validity of session name when received from outside

Only ASCII letters and digits are allowed.

8 years agotransaction.c: do not point users to logs when unit not found
Zbigniew Jędrzejewski-Szmek [Sun, 15 Sep 2013 16:15:38 +0000 (12:15 -0400)]
transaction.c: do not point users to logs when unit not found

The logs are unlikely to contain any useful information in this case.

Also, change "walked on cycle path" to "found dependency on", which
is less technical and indicates the direction. With the old message,
I was never sure if prior units depended on later ones, or vice versa.

8 years agoRemove duplicate entries from syscall list
Zbigniew Jędrzejewski-Szmek [Sun, 15 Sep 2013 14:35:51 +0000 (10:35 -0400)]
Remove duplicate entries from syscall list

which were obsuring real syscall names.

8 years agoAssume that /proc/meminfo can be missing
Zbigniew Jędrzejewski-Szmek [Sun, 15 Sep 2013 12:40:16 +0000 (08:40 -0400)]
Assume that /proc/meminfo can be missing

Travis tests are failing, probably because /proc/meminfo is not available
in the test environment. The same might be true in some virtualized systems,
so just treat missing /proc/meminfo as a sign that hibernation is not

8 years agocgroup: add missing equals for BlockIOWeight
Gao feng [Mon, 16 Sep 2013 01:57:33 +0000 (09:57 +0800)]
cgroup: add missing equals for BlockIOWeight

8 years agoswap: create .wants symlink to 'auto' swap devices
Tom Gundersen [Sun, 15 Sep 2013 23:08:32 +0000 (01:08 +0200)]
swap: create .wants symlink to 'auto' swap devices

As we load unit files lazily, we need to make sure something pulls in swap
units that should be started automatically, otherwise the default dependencies
will never be applied.

This partially reinstates code removed in
commit 64347fc2b983f33e7efb0fd2bb44e133fb9f30f4.

Also don't order swap devices after when they are 'nofail'.

8 years agoREADME: add SCSI BSG option
Kay Sievers [Sun, 15 Sep 2013 05:29:25 +0000 (07:29 +0200)]
README: add SCSI BSG option

8 years agoAdvertise hibernation only if there's enough free swap
Zbigniew Jędrzejewski-Szmek [Fri, 13 Sep 2013 23:41:52 +0000 (19:41 -0400)]
Advertise hibernation only if there's enough free swap

Condition that is checked is taken from upower:
  active(anon) < free swap * 0.98

This is really stupid, because the kernel knows the situation better,
e.g. there could be two swap files, and then hibernation would be
impossible despite passing this check, or the kernel could start
supporting compressed swap and/or compressed hibernation images, and
then this this check would be too stringent. Nevertheless, until
we have something better, this should at least return a true negative
if there's no swap.

Logging of capabilities in the journal is changed to not strip leading
zeros. I consider this more readable anyway.

8 years agokeymap: remove some commented out lines
Zbigniew Jędrzejewski-Szmek [Wed, 28 Aug 2013 21:23:59 +0000 (17:23 -0400)]
keymap: remove some commented out lines

8 years agoman: document luks.options kernel commandline
Tom Gundersen [Fri, 13 Sep 2013 19:03:55 +0000 (21:03 +0200)]
man: document luks.options kernel commandline

This should have been part of commit 7ab064a6d

8 years agolibudev: fix move_later comparison
Lukas Nykryn [Fri, 13 Sep 2013 12:12:54 +0000 (14:12 +0200)]
libudev: fix move_later comparison

At the beginning move_later is set to -1, but it is set to different
value only if expression !move_later is true.

8 years agoswap: fix reverse dependencies
Tom Gundersen [Fri, 13 Sep 2013 12:46:18 +0000 (14:46 +0200)]
swap: fix reverse dependencies

Make sure correctly requires/wants the swap units.

This fixes

Reported-by: Hussam Al-Tayeb
8 years agocore/cgroup: first print then free
Lukas Nykryn [Fri, 13 Sep 2013 12:31:17 +0000 (14:31 +0200)]
core/cgroup: first print then free

8 years agoupdate TODO
Lennart Poettering [Fri, 13 Sep 2013 12:28:17 +0000 (14:28 +0200)]
update TODO

8 years agorandom-seed: we should return errno of failed loop_write
Lukas Nykryn [Fri, 13 Sep 2013 12:12:55 +0000 (14:12 +0200)]
random-seed: we should return errno of failed loop_write

8 years agocgroup: fix incorrectly setting memory cgroup
Gao feng [Fri, 13 Sep 2013 06:43:04 +0000 (14:43 +0800)]
cgroup: fix incorrectly setting memory cgroup

If the memory_limit of unit is -1, we should write "-1"
to the file memory.limit_in_bytes. not the (unit64_t) -1.

otherwise the memory.limit_in_bytes will be set to zero.

8 years agocgroup: correct the log information
Gao feng [Fri, 13 Sep 2013 03:17:06 +0000 (11:17 +0800)]
cgroup: correct the log information

it should be memory.soft_limit_in_bytes.

8 years agocgroup: add the missing setting of variable's value
Gao feng [Fri, 13 Sep 2013 03:17:05 +0000 (11:17 +0800)]
cgroup: add the missing setting of variable's value

set the value of variable "r" to the return value
of cg_set_attribute.

8 years agoautomount: rename repeat_unmont to repeat_unmount
David Mackey [Fri, 13 Sep 2013 02:45:49 +0000 (19:45 -0700)]
automount: rename repeat_unmont to repeat_unmount

Trivial cleanup of repeat_unmount() spelling.

8 years agocryptsetup-generator: allow specifying options in /proc/cmdline
Tom Gundersen [Sun, 18 Aug 2013 06:59:00 +0000 (14:59 +0800)]
cryptsetup-generator: allow specifying options in /proc/cmdline

The main usecase for this is to make it possible to use cryptsetup in
the initrd without it having to include a host-specific /etc/crypttab.

Tested-by: Thomas Bächler <>
8 years agocryptsetup-generator: don't create tmp+swap units
Tom Gundersen [Thu, 15 Aug 2013 00:47:59 +0000 (08:47 +0800)]
cryptsetup-generator: don't create tmp+swap units

8 years agoupdate TODO
Lennart Poettering [Fri, 13 Sep 2013 02:13:47 +0000 (04:13 +0200)]
update TODO

8 years agoNEWS: update v207
Kay Sievers [Fri, 13 Sep 2013 00:24:57 +0000 (02:24 +0200)]
NEWS: update

8 years agobuild-sys: prepare 207
Lennart Poettering [Fri, 13 Sep 2013 00:11:19 +0000 (02:11 +0200)]
build-sys: prepare 207

8 years agobash-completion: add systemd-run
Zbigniew Jędrzejewski-Szmek [Thu, 12 Sep 2013 23:35:59 +0000 (19:35 -0400)]
bash-completion: add systemd-run

8 years agoshut up gcc complaining about freeing a const variable
Kay Sievers [Thu, 12 Sep 2013 21:37:23 +0000 (23:37 +0200)]
shut up gcc complaining about freeing a const variable

8 years agoman: wording and grammar updates
Jan Engelhardt [Thu, 12 Sep 2013 19:12:49 +0000 (21:12 +0200)]
man: wording and grammar updates

This is a recurring submission and includes corrections to various
issue spotted. I guess I can just skip over reporting ubiquitous
comma placement fixes…

Highligts in this particular commit:
- the "unsigned" type qualifier is completed to form a full type
  "unsigned int"
- alphabetic -> lexicographic (that way we automatically define how
  numbers get sorted)

8 years agoupdate TODO
Lennart Poettering [Thu, 12 Sep 2013 16:52:41 +0000 (18:52 +0200)]
update TODO

8 years agocore: notify triggered by socket of a service
Umut Tezduyar [Mon, 22 Jul 2013 08:52:53 +0000 (10:52 +0200)]
core: notify triggered by socket of a service

8 years agoservice: Implement 'on-watchdog' restart option
Hannes Reinecke [Thu, 25 Jul 2013 12:07:59 +0000 (14:07 +0200)]
service: Implement 'on-watchdog' restart option

Services using the watchdog option might want to be restarted
only if the watchdog triggers.

8 years agojournald: Log error when failed to get machine-id on start
Olivier Brunel [Thu, 12 Sep 2013 12:37:30 +0000 (14:37 +0200)]
journald: Log error when failed to get machine-id on start

Can help since the journal requires /etc/machine-id to exists in order to start,
and will simply silently exit when it does not.

8 years agoupdate TODO
Lennart Poettering [Thu, 12 Sep 2013 16:09:00 +0000 (18:09 +0200)]
update TODO

8 years agosystemctl: process only signals for jobs we really wait for
Michal Sekletar [Thu, 12 Sep 2013 13:42:24 +0000 (15:42 +0200)]
systemctl: process only signals for jobs we really wait for

wait_filter() callback shouldn't process JobRemove signals for arbitrary
jobs. It should only deal with signals for jobs which are included in
set of jobs we wait for.

8 years agoTODO: remove backlight tool
Kay Sievers [Thu, 12 Sep 2013 15:20:33 +0000 (17:20 +0200)]
TODO: remove backlight tool

8 years agoActually allow tabs in environment files
Zbigniew Jędrzejewski-Szmek [Thu, 12 Sep 2013 14:03:16 +0000 (10:03 -0400)]
Actually allow tabs in environment files

Fixup for ac4c8d6da8b5e.

8 years agoman: Add a note about what environment variables are available by default
Zbigniew Jędrzejewski-Szmek [Thu, 12 Sep 2013 13:29:01 +0000 (09:29 -0400)]
man: Add a note about what environment variables are available by default

8 years agogetty-generator: Enable getty on all active serial consoles.
Michael Marineau [Sat, 17 Aug 2013 00:28:24 +0000 (20:28 -0400)]
getty-generator: Enable getty on all active serial consoles.

This enables a getty on active kernel consoles even when they are not
the last one specified on the kernel command line and mapped to
/dev/console. Now the order "console=ttyS0 console=tty0" works in
addition to "console=tty0 console=ttyS0".

8 years agohwdb: add Toshiba Satellite P75-A
Zbigniew Jędrzejewski-Szmek [Thu, 12 Sep 2013 11:59:34 +0000 (07:59 -0400)]
hwdb: add Toshiba Satellite P75-A

Contributed by Guillermo Dominguez Duarte <>.

8 years agoman: fix description of file order application
Kay Sievers [Thu, 12 Sep 2013 02:00:24 +0000 (04:00 +0200)]
man: fix description of file order application

8 years agoAllow tabs in environment files
Zbigniew Jędrzejewski-Szmek [Thu, 12 Sep 2013 01:50:16 +0000 (21:50 -0400)]
Allow tabs in environment files

bash allows them, and so should we.

string_has_cc is changed to allow tabs, and if they are not wanted,
they must be now checked for explicitly. There are two other callers,
apart from the env file loaders, and one already checked anyway, and
the other is changed to check.

8 years agoman: fix description of sysctl.d order
Mantas Mikulėnas [Wed, 11 Sep 2013 21:53:36 +0000 (00:53 +0300)]
man: fix description of sysctl.d order

systemd-sysctl gives priority to the latest occurence as of commit
04bf3c1a60d82791e0320381e9268f727708f776, but the manpage hasn't been
updated for that.

8 years agohwdb: update
Kay Sievers [Wed, 11 Sep 2013 21:09:12 +0000 (23:09 +0200)]
hwdb: update

8 years agoAdd pam configuration to allow user sessions to work out of the box
Zbigniew Jędrzejewski-Szmek [Wed, 11 Sep 2013 18:31:14 +0000 (14:31 -0400)]
Add pam configuration to allow user sessions to work out of the box

systemd-logind will start user@.service. user@.service unit uses
PAM with service name 'systemd-user' to perform account and session
managment tasks. Previously, the name was 'systemd-shared', it is
now changed to 'systemd-user'.

Most PAM installations use one common setup for different callers.
Based on a quick poll, distributions fall into two camps: those that
have system-auth (Redhat, Fedora, CentOS, Arch, Gentoo, Mageia,
Mandriva), and those that have common-auth (Debian, Ubuntu, OpenSUSE).
Distributions that have system-auth have just one configuration file
that contains auth, password, account, and session blocks, and
distributions that have common-auth also have common-session,
common-password, and common-account. It is thus impossible to use one
configuration file which would work for everybody. systemd-user now
refers to system-auth, because it seems that the approach with one
file is more popular and also easier, so let's follow that.

8 years agocore: failed scope units may not be restarted
Lennart Poettering [Wed, 11 Sep 2013 17:26:47 +0000 (19:26 +0200)]
core: failed scope units may not be restarted

We don't allow reusing of scopes.

8 years agosd-login: add a public accessor for the VT number
Giovanni Campagna [Wed, 11 Sep 2013 16:48:20 +0000 (18:48 +0200)]
sd-login: add a public accessor for the VT number

The VT number was already part of the DBus API, but was not
exposed in the C API.

8 years agoUpdate TODO
Lennart Poettering [Wed, 11 Sep 2013 15:44:25 +0000 (17:44 +0200)]
Update TODO

8 years agocryptsetup: Retry indefinitely if tries=0 option has been set.
Thomas Bächler [Sun, 18 Aug 2013 16:24:13 +0000 (18:24 +0200)]
cryptsetup: Retry indefinitely if tries=0 option has been set.

When running from initrd, entering a wrong passphrase usually means that
you cannot boot. Therefore, we allow trying indefinitely.

8 years agoswap: handle nofail/noauto in core
Tom Gundersen [Wed, 21 Aug 2013 14:48:56 +0000 (22:48 +0800)]
swap: handle nofail/noauto in core

8 years agomount: filesystems mounted in the initrd should not conflict with in...
Tom Gundersen [Mon, 19 Aug 2013 04:34:13 +0000 (12:34 +0800)]
mount: filesystems mounted in the initrd should not conflict with in the real root

These mounts should be kept around and unmounted in the shutdown ramfs.

Currently, we will still attempt to umount these in the final kill spree, but
we should consider avoiding that too. Also, the should_umount function should
be generalised and put into util.c or something like that, but we are still
discussing precisely how.

8 years agomount: move device links handling from generator
Tom Gundersen [Mon, 19 Aug 2013 09:45:24 +0000 (17:45 +0800)]
mount: move device links handling from generator

This makes mount units work like swap units: when the backing device appears
the mount unit will be started.

v2: the device should want the mount unconditionally, not only for DefaultDependencies=yes

8 years agoswap: backing device should unconditionally want swap unit
Tom Gundersen [Wed, 21 Aug 2013 14:47:26 +0000 (22:47 +0800)]
swap: backing device should unconditionally want swap unit

There is no need to restrict this to only the 'nofail' case. In the '!nofail'
case the unit is already wanted by, so this is not a functional change.

8 years agofstab-generator: use DefaultDependencies=yes
Tom Gundersen [Mon, 19 Aug 2013 01:20:52 +0000 (09:20 +0800)]
fstab-generator: use DefaultDependencies=yes

This removes some redundancy between the generator and the core mount handling.

8 years agofilesystem targets: disable default dependencies
Tom Gundersen [Thu, 22 Aug 2013 02:09:39 +0000 (10:09 +0800)]
filesystem targets: disable default dependencies

This means we can use default dependencies on mount units without having to get them automatically
ordered before the filesystem targets.

Reported-by: Thomas Baechler <>
8 years agoman: document that Type=notify is currently incompatible with PrivateNetwork=yes
Lennart Poettering [Wed, 11 Sep 2013 11:57:34 +0000 (13:57 +0200)]
man: document that Type=notify is currently incompatible with PrivateNetwork=yes

8 years agoman: one more example in tmpfiles.d
Lukas Nykryn [Thu, 22 Aug 2013 12:47:49 +0000 (14:47 +0200)]
man: one more example in tmpfiles.d

8 years agoman: wording and grammar updates
Jan Engelhardt [Sun, 25 Aug 2013 07:01:45 +0000 (09:01 +0200)]
man: wording and grammar updates

This includes regularly-submitted corrections to comma setting and
orthographical mishaps that appeared in man/ in recent commits.

In this particular commit:
- the usual comma fixes
- expand contractions (this is prose)

8 years agosystemctl: show BlockIODeviceWeight for unit
Gao feng [Tue, 27 Aug 2013 05:36:55 +0000 (13:36 +0800)]
systemctl: show BlockIODeviceWeight for unit

We can use systemctl show unitname to show the BlockIODeviceWeight
of unit.

8 years agosystemcl: add support for setting BlockIODeviceWeight for unit
Gao feng [Tue, 27 Aug 2013 05:36:54 +0000 (13:36 +0800)]
systemcl: add support for setting BlockIODeviceWeight for unit

This patch allows user to set up BlockIODeviceWeight for unit
through systemctl. Such as

systemctl set-property sshd.service BlockIODeviceWeight="/dev/sda 100"

8 years agocgroup: setup BlockIODeviceWeight in bus_cgroup_set_property
Gao feng [Tue, 27 Aug 2013 05:36:53 +0000 (13:36 +0800)]
cgroup: setup BlockIODeviceWeight in bus_cgroup_set_property

This patch adds the support for setting up BlockIODeviceWeight
in bus_cgroup_set_property. most of the codes are copied from
the case that sets up DeviceAllow.

8 years agocgroup: compare fs paths with path_equal() rather than streq()
Lennart Poettering [Tue, 10 Sep 2013 16:21:10 +0000 (18:21 +0200)]
cgroup: compare fs paths with path_equal() rather than streq()

8 years agosystemcl: add support for setting BlockIORead/WriteBandwidth for unit
Gao feng [Fri, 30 Aug 2013 02:56:02 +0000 (10:56 +0800)]
systemcl: add support for setting BlockIORead/WriteBandwidth for unit

This patch allows user to set up BlockIOReadBandwidth and BlockIOWriteBandwidth
for unit through systemctl. Such as

systemctl set-property sshd.service BlockIOReadBandwidth="/dev/sda 100000"
systemctl set-property sshd.service BlockIOWriteBandwidth="/dev/sda 200000"

8 years agocgroup: setup BlockIORead/WriteBandwidth in bus_cgroup_set_property
Gao feng [Tue, 10 Sep 2013 15:23:07 +0000 (17:23 +0200)]
cgroup: setup BlockIORead/WriteBandwidth in bus_cgroup_set_property

This patch adds the support for setting up BlockIORead/WriteBandwidth
in bus_cgroup_set_property.

8 years agoblkio bandwidth: don't clean up all of entries in blockio_device_bandwidths list
Gao feng [Fri, 30 Aug 2013 02:56:00 +0000 (10:56 +0800)]
blkio bandwidth: don't clean up all of entries in blockio_device_bandwidths list

if we get BlockIOReadBandwidth="", we should only remove the
read-bandwidth-entries in blockio_device_bandwidths list.

8 years agoman: split systemctl commands to sections
Lukas Nykryn [Wed, 28 Aug 2013 13:46:59 +0000 (15:46 +0200)]
man: split systemctl commands to sections

8 years agoservice: remove pidfile after exit of a service
Lukas Nykryn [Wed, 28 Aug 2013 17:27:44 +0000 (19:27 +0200)]
service: remove pidfile after exit of a service

8 years agoman: add not to not use -x in bug reports
Zbigniew Jędrzejewski-Szmek [Tue, 10 Sep 2013 12:27:15 +0000 (08:27 -0400)]
man: add not to not use -x in bug reports

8 years agojournald: be a bit more verbose when vacuuming
Zbigniew Jędrzejewski-Szmek [Tue, 10 Sep 2013 12:20:24 +0000 (08:20 -0400)]
journald: be a bit more verbose when vacuuming

Vacuuming behaviour is a bit confusing, and/or we have some bugs,
so those additional messages should help to find out what's going
on. Also, rotation of journal files shouldn't be happening too
often, so the level of the messages is bumped to info, so that
they'll be logged under normal operation.

8 years agokeymap: Add Asus WMI module
Martin Pitt [Mon, 9 Sep 2013 21:41:03 +0000 (17:41 -0400)]
keymap: Add Asus WMI module

We need to override the TOUCHPAD_TOGGLE to F21 to make it useful under X, as
for other models.

8 years agobuild-sys: gpt-auto-generator depends on HAVE_BLKID
Marcel Holtmann [Sat, 7 Sep 2013 16:25:07 +0000 (09:25 -0700)]
build-sys: gpt-auto-generator depends on HAVE_BLKID

8 years agoFix two compiler warnings
Zbigniew Jędrzejewski-Szmek [Mon, 9 Sep 2013 21:31:10 +0000 (17:31 -0400)]
Fix two compiler warnings

8 years agorun: allow non-absolute paths as command
Zbigniew Jędrzejewski-Szmek [Sun, 8 Sep 2013 11:51:39 +0000 (07:51 -0400)]
run: allow non-absolute paths as command

8 years agopath-util.c: small modernization
Zbigniew Jędrzejewski-Szmek [Sun, 8 Sep 2013 11:31:25 +0000 (07:31 -0400)]
path-util.c: small modernization

8 years agosystemd-run: properly escape arguments
Zbigniew Jędrzejewski-Szmek [Sat, 31 Aug 2013 18:28:09 +0000 (20:28 +0200)]
systemd-run: properly escape arguments

Spaces, quotes, and such, were not properly escaped. We should
write them like we read them.

8 years agoTODO: update todo
Dave Reisner [Fri, 6 Sep 2013 20:26:55 +0000 (16:26 -0400)]
TODO: update todo

8 years agoman: fix typo
Zbigniew Jędrzejewski-Szmek [Fri, 6 Sep 2013 11:14:26 +0000 (13:14 +0200)]
man: fix typo

8 years agosystemd-coredump: Log crashes without coredumps on failure
Andrew Cook [Wed, 4 Sep 2013 13:27:52 +0000 (23:27 +1000)]
systemd-coredump: Log crashes without coredumps on failure

Make a best-effort attempt to store information about crashes during
failure, currently if these are encountered the crash is completely

ideally coredumpctl would show if a coredump is available.

8 years agosystemd-coredump: Ignore coredumps larger than COREDUMP_MAX
Andrew Cook [Wed, 4 Sep 2013 13:27:40 +0000 (23:27 +1000)]
systemd-coredump: Ignore coredumps larger than COREDUMP_MAX

Currently this check happens when the coredump has been collected in
it's entirety and being received by journald. this is not ideal
behaviour when the crashing process is consuming significant percentage
of physical memory such as a large instance of firefox or a java

8 years agojournald: fix fd leak in journal_file_empty
George McCollister [Wed, 4 Sep 2013 12:12:44 +0000 (07:12 -0500)]
journald: fix fd leak in journal_file_empty

Before my previous patch, journal_file_empty wasn't be called with the
correct filename. Now that it's being called with the correct filename
it leaks file descriptors. This patch closes the file descriptors before

Signed-off-by: George McCollister <>
[Edit make use of _cleanup_close_ instead]

8 years agojournald: fix vacuuming of archived journals
George McCollister [Wed, 4 Sep 2013 12:12:43 +0000 (07:12 -0500)]
journald: fix vacuuming of archived journals

d_name is modified on line 227 so if the entire journal name is needed
again p must be used. Before this change when journal_file_empty was called
on archived journals it would always return with -2.

Signed-off-by: George McCollister <>
8 years agolibudev: enumerate - do not try to match against an empty subsystem
Kay Sievers [Wed, 4 Sep 2013 15:59:14 +0000 (17:59 +0200)]
libudev: enumerate - do not try to match against an empty subsystem

8 years agolibudev: enumerate: fix NULL-deref for subsystem-matches
David Herrmann [Fri, 30 Aug 2013 13:50:41 +0000 (15:50 +0200)]
libudev: enumerate: fix NULL-deref for subsystem-matches

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

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/
 #1  0x00007ffff56d9e04 in fnmatch@@GLIBC_2.2.5 () from /usr/lib/
 #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

8 years agocgtop: fixup the online help
Brandon Philips [Wed, 4 Sep 2013 04:34:02 +0000 (21:34 -0700)]
cgtop: fixup the online help

The online help shows the keys as uppercase but the code and manpage say
lower case. Make the online help follow reality.

8 years agolibudev: fix memleak when enumerating childs
David Herrmann [Wed, 4 Sep 2013 10:36:19 +0000 (12:36 +0200)]
libudev: fix memleak when enumerating childs

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.

8 years agokeymap: Explicitly match "any product name" for "all models from vendor" rules
Martin Pitt [Mon, 2 Sep 2013 06:11:07 +0000 (08:11 +0200)]
keymap: Explicitly match "any product name" for "all models from vendor" rules

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.

8 years agokeymap: Fix typo in Latitude/Precision rules
Martin Pitt [Mon, 2 Sep 2013 05:36:34 +0000 (07:36 +0200)]
keymap: Fix typo in Latitude/Precision rules

We actually want to match the product name, "pn:" makes no sense.

8 years agomain: drop capabilities of userhelpers before ours
Harald Hoyer [Fri, 30 Aug 2013 08:23:50 +0000 (10:23 +0200)]
main: drop capabilities of userhelpers before ours

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

8 years agokeymap: Don't use spaces in DMI modalias matches
Martin Pitt [Fri, 30 Aug 2013 04:43:26 +0000 (06:43 +0200)]
keymap: Don't use spaces in DMI modalias matches

Spaces get dropped from DMI modaliases. Replace them with '*' to make them
robust against future changes in space escaping.

8 years agokeymap: Fix Dell vendor names
Martin Pitt [Fri, 30 Aug 2013 04:31:12 +0000 (06:31 +0200)]
keymap: Fix Dell vendor names

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

8 years agokeymap: Don't erase previous assignments
Martin Pitt [Thu, 29 Aug 2013 15:48:42 +0000 (17:48 +0200)]
keymap: Don't erase previous assignments

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.

8 years agoDo not realloc strings, which are already in the hashmap as keys
Harald Hoyer [Wed, 28 Aug 2013 13:33:35 +0000 (15:33 +0200)]
Do not realloc strings, which are already in the hashmap as keys

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.

8 years agoRevert "cgroup.c: check return value of unit_realize_cgroup_now()"
Harald Hoyer [Wed, 28 Aug 2013 14:02:39 +0000 (16:02 +0200)]
Revert "cgroup.c: check return value of unit_realize_cgroup_now()"

This reverts commit 1f11a0cdfe397cc404d61ee679fc12f58c0a885b.

8 years agocgroup: only check once when mode is UNIT_CHECK
Gao feng [Mon, 26 Aug 2013 02:36:45 +0000 (10:36 +0800)]
cgroup: only check once when mode is UNIT_CHECK

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.

8 years agodevice cgroup: don't create a new CGroupDeviceAllow when it already in the list
Gao feng [Wed, 28 Aug 2013 01:49:11 +0000 (09:49 +0800)]
device cgroup: don't create a new CGroupDeviceAllow when it already in the list

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

change from v1: use streq to replace !strcmp

8 years agoblcokio bandwidth: add missing set of CGroupBlockIODeviceBandwidth's read
Gao feng [Wed, 28 Aug 2013 04:10:16 +0000 (12:10 +0800)]
blcokio bandwidth: add missing set of CGroupBlockIODeviceBandwidth's read

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.

8 years agologind-session.c: use _cleanup_
Zbigniew Jędrzejewski-Szmek [Sun, 25 Aug 2013 03:48:34 +0000 (23:48 -0400)]
logind-session.c: use _cleanup_

8 years agologind: be more verbose on errors
Zbigniew Jędrzejewski-Szmek [Sat, 24 Aug 2013 14:52:23 +0000 (10:52 -0400)]
logind: be more verbose on errors

8 years agoDisallow invalid UTF-8 configuration
Zbigniew Jędrzejewski-Szmek [Sat, 24 Aug 2013 14:51:55 +0000 (10:51 -0400)]
Disallow invalid UTF-8 configuration

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.