]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agounits: make sure initrd-cleanup.service terminates before switching to rootfs
Franck Bui [Mon, 28 Jan 2019 11:07:37 +0000 (12:07 +0100)] 
units: make sure initrd-cleanup.service terminates before switching to rootfs

A follow-up for commit a8cb1dc3e0fa81aff.

Commit a8cb1dc3e0fa81aff made sure that initrd-cleanup.service won't be stopped
when initrd-switch-root.target is isolated.

However even with this change, it might happen that initrd-cleanup.service
survives the switch to rootfs (since it has no ordering constraints against
initrd-switch-root.target) and is stopped right after when default.target is
isolated. This led to initrd-cleanup.service entering in failed state as it
happens when oneshot services are stopped.

This patch along with a8cb1dc3e0fa81aff should fix issue #4343.

Fixes: #4343
5 years agotest-barrier: skip the test in virtualized/containerized environments
Frantisek Sumsal [Sat, 26 Jan 2019 16:03:34 +0000 (17:03 +0100)] 
test-barrier: skip the test in virtualized/containerized environments

5 years agonetwork/wireguard: use sd_netlink_message_append_sockaddr_in{,6}() 11580/head
Yu Watanabe [Mon, 28 Jan 2019 11:27:37 +0000 (12:27 +0100)] 
network/wireguard: use sd_netlink_message_append_sockaddr_in{,6}()

5 years agoMerge pull request #11566 from poettering/alloca-assert
Lennart Poettering [Mon, 28 Jan 2019 11:19:36 +0000 (12:19 +0100)] 
Merge pull request #11566 from poettering/alloca-assert

add a safety size assert() on most alloca() calls

5 years agosd-netlink: introduce sd_netlink_message_append_sockaddr_in{,6}()
Yu Watanabe [Mon, 28 Jan 2019 11:19:29 +0000 (12:19 +0100)] 
sd-netlink: introduce sd_netlink_message_append_sockaddr_in{,6}()

5 years agotest-network: add more checks in NetworkdNetDevTests.test_wireguard
Yu Watanabe [Mon, 28 Jan 2019 09:09:22 +0000 (10:09 +0100)] 
test-network: add more checks in NetworkdNetDevTests.test_wireguard

5 years agonetwork/wireguard: fixes sending wireguard peer settings
Yu Watanabe [Mon, 28 Jan 2019 08:42:35 +0000 (09:42 +0100)] 
network/wireguard: fixes sending wireguard peer settings

This fixes a bug introduced by e1f717d4a02e15ae11a191dd4962b2f4d117678d.

Fixes #11579.

5 years agojournal: avoid buffer overread when locale name is too long
Zbigniew Jędrzejewski-Szmek [Sun, 27 Jan 2019 08:37:26 +0000 (09:37 +0100)] 
journal: avoid buffer overread when locale name is too long

We could potentially create an unterminated string and then call normal string
operations on it. Let's be more careful: first remove the suffix we ignore anyway,
then find if the string is of acceptable length, and possibly ignore it if it
is too long. The code rejects lengths above 31 bytes. Language names that are
actually used are much shorter, so this doesn't matter much.

5 years agokernel-install: fix dracut initrd detection (240 backward compatibility) (#11570)
Marc-Antoine Perennou [Sun, 27 Jan 2019 16:32:21 +0000 (17:32 +0100)] 
kernel-install: fix dracut initrd detection (240 backward compatibility) (#11570)

* kernel-install: fix initrd when called as installkernel

Running make install from the kernel runs e.g.:
installkernel 4.20.5 arch/x86/boot/bzImage System.map "/boot"

Since 0912c0b80eb24fb9a4e1cc4abf274a1358b9943d this would
cal 90-loaderentry.install with those arguments:
add 4.20.5 /boot/... arch/x86/boot/bzImage System.map "/boot"

The two last arguments would then be handled as the initrd files.
As System.map exists in current directory but not in /boot/...
it would get copied there, and used as initrd intead of the initrd
which has been generated by dracut.

With this change, nothing changes when kernel-install is called
directly, but when it's called as installkernel, we now pass
thos arguments to 90-loaderentry.install:
add 4.20.5 /boot/... arch/x86/boot/bzImage initrd
initrd is thus detected as the file to use for the initrd, and as it
exists, nothing is copied over and the initrd line generated is
consistent with what one would expect

* kernel-install: fix dracut initrd detection when called directly

This brings back the systemd 240 behaviour when called directly too

* kernel-install: unify initrd fallback

* kernel-install: move initrd fallback handling to 90-loaderentry.install

* kernel-install: move initrd fallback just before creating loader entry

5 years agoshared/dissect-image: make sure that we don't truncate device name
Zbigniew Jędrzejewski-Szmek [Sun, 27 Jan 2019 08:35:36 +0000 (09:35 +0100)] 
shared/dissect-image: make sure that we don't truncate device name

gcc-9 complains that the string may be truncated when written into the output
structure. This shouldn't happen, but if it did, in principle we could remove a
different structure (with a matching name prefix). Let's just refuse the
operation if the name doesn't fit.

5 years agoRevert "Fixes #11128"
Taro Yamada [Sun, 27 Jan 2019 04:43:30 +0000 (13:43 +0900)] 
Revert "Fixes #11128"

This reverts commit 0bf05f0122f0f13cd0c0bc35a31861875d2ead31 because it breaks 30c81ce.
Please see #11540.

5 years agoMerge pull request #11513 from poettering/cryptsetup-msg
Zbigniew Jędrzejewski-Szmek [Sat, 26 Jan 2019 15:43:20 +0000 (16:43 +0100)] 
Merge pull request #11513 from poettering/cryptsetup-msg

improve cryptsetup messaging

5 years agotree-wide: use newa() instead of alloca() wherever we can 11566/head
Lennart Poettering [Sat, 26 Jan 2019 14:52:18 +0000 (15:52 +0100)] 
tree-wide: use newa() instead of alloca() wherever we can

Typesafety is nice. And this way we can take benefit of the new size
assert() the previous commit added.

5 years agoalloc-util: whenever any of our alloca() wrappers is used to allocate overly large...
Lennart Poettering [Sat, 26 Jan 2019 14:42:35 +0000 (15:42 +0100)] 
alloc-util: whenever any of our alloca() wrappers is used to allocate overly large memory blocks, hit an assert()

Of course, this should never happen, but let's better be safe than
sorry, and abort rather than continue when a too large memory block is
allocated, simply asa safety precaution.

An early abort is better than continuing with a likely memory corruption
later.

5 years agoMerge pull request #11460 from yuwata/fix-11458
Lennart Poettering [Sat, 26 Jan 2019 14:41:06 +0000 (15:41 +0100)] 
Merge pull request #11460 from yuwata/fix-11458

network: update address when static address was already configured by DHCP

5 years agobuild-sys: bump package/library versions v241-rc1
Zbigniew Jędrzejewski-Szmek [Thu, 10 Jan 2019 21:29:01 +0000 (22:29 +0100)] 
build-sys: bump package/library versions

We added sd_bus_close_unref().

5 years agoMerge pull request #11562 from yuwata/fix-11558
Lennart Poettering [Sat, 26 Jan 2019 13:46:48 +0000 (14:46 +0100)] 
Merge pull request #11562 from yuwata/fix-11558

core/mount: do not add Before=local-fs.target or remote-fs.target if nofail mount option is set

5 years agoMerge pull request #11466 from keszybz/fix-loop-remounts
Lennart Poettering [Sat, 26 Jan 2019 13:42:02 +0000 (14:42 +0100)] 
Merge pull request #11466 from keszybz/fix-loop-remounts

pid1: fix cleanup of stale implicit deps based on /proc/self/mountinfo

5 years agopid1: fix cleanup of stale implicit deps based on /proc/self/mountinfo 11466/head
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jan 2019 15:09:13 +0000 (16:09 +0100)] 
pid1: fix cleanup of stale implicit deps based on /proc/self/mountinfo

The problem was introduced in a37422045fbb68ad68f734e5dc00e0a5b1759773:
we have a unit which has a fragment, and when we'd update it based on
/proc/self/mountinfo, we'd say that e.g. What=/dev/loop8 has origin-fragment.
This commit changes two things:
- origin-fragment is changed to origin-mountinfo-implicit
- when we stop a unit, mountinfo information is flushed and all deps based
  on it are dropped.

The second step is important, because when we restart the unit, we want to
notice that we have "fresh" mountinfo information. We could keep the old info
around and solve this in a different way, but keeping stale information seems
inelegant.

Fixes #11342.

5 years agoMerge pull request #11530 from keszybz/journal-cache-trimming
Lennart Poettering [Sat, 26 Jan 2019 12:55:55 +0000 (13:55 +0100)] 
Merge pull request #11530 from keszybz/journal-cache-trimming

Journal cache trimming

5 years agoMerge pull request #11545 from xnox/ppc64el
Lennart Poettering [Sat, 26 Jan 2019 12:55:32 +0000 (13:55 +0100)] 
Merge pull request #11545 from xnox/ppc64el

test-functions: fixup PPC64 testing

5 years agounits: drop conditionalization of systemd-tmpfiles-setup-dev.service
Lennart Poettering [Sat, 26 Jan 2019 10:37:06 +0000 (11:37 +0100)] 
units: drop conditionalization of systemd-tmpfiles-setup-dev.service

Currently, tmpfiles runs in two separate services at boot. /dev is
populated by systemd-tmpfiles-setup-dev.service and everything else by
systemd-tmpfiles-setup.service. The former was so far conditionalized by
CAP_SYS_MODULES. The reasoning was that the primary purpose of
populating /dev was to create device nodes based on the static device
node info exported in kernel modules through MODALIAS. And without the
privs to load kernel modules doing so is unnecessary. That thinking is
incomplete however, as there might be reason to create stuff in /dev
outside of the static modalias usecase. Thus, let's drop the
conditionalization to ensure that tmpfiles.d rules are always executed
at least once under all conditions.

Fixes: #11544
5 years agonspawn: ignore SIGPIPE for nspawn itself
Lennart Poettering [Sat, 26 Jan 2019 11:18:16 +0000 (12:18 +0100)] 
nspawn: ignore SIGPIPE for nspawn itself

Let's not abort due to a dead stdout.

Fixes: #11533
5 years agoprocess-util: don't use overly large buffer to store process command line
Michal Sekletar [Tue, 22 Jan 2019 13:29:50 +0000 (14:29 +0100)] 
process-util: don't use overly large buffer to store process command line

Allocate new string as a return value and free our "scratch pad"
buffer that is potentially much larger than needed (up to
_SC_ARG_MAX).

Fixes #11502

5 years agoman: update DefaultDependency= in systemd.mount(5) 11562/head
Yu Watanabe [Sat, 26 Jan 2019 12:05:27 +0000 (13:05 +0100)] 
man: update DefaultDependency= in systemd.mount(5)

Follow-up for d54bab90e64f70c1ecf9b0683a98adb8485ed09e and the
previous commit.

5 years agojournald: periodically drop cache for all dead PIDs 11530/head
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 16:30:48 +0000 (17:30 +0100)] 
journald: periodically drop cache for all dead PIDs

In normal use, this allow us to drop dead entries from the cache and reduces
the cache size so that we don't evict entries unnecessarily. The time limit is
there mostly to serve as a guard against malicious logging from many different
PIDs.

5 years agojournal: limit the number of entries in the cache based on available memory
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 15:12:52 +0000 (16:12 +0100)] 
journal: limit the number of entries in the cache based on available memory

This is far from perfect, but should give mostly reasonable values. My
assumption is that if somebody has a few hundred MB of memory, they are
unlikely to have thousands of processes logging. A hundred would already be a
lot. So let's scale the cache size propritionally to the total memory size,
with clamping on both ends.

The formula gives 64 cache entries for each GB of RAM.

5 years agobasic/prioq: add prioq_peek_item()
Zbigniew Jędrzejewski-Szmek [Sat, 26 Jan 2019 10:27:18 +0000 (11:27 +0100)] 
basic/prioq: add prioq_peek_item()

5 years agoUpdate 60-sensor.hwdb
zsergeant77 [Thu, 24 Jan 2019 21:03:30 +0000 (00:03 +0300)] 
Update 60-sensor.hwdb

Added mount matrix for Digma CITI E203 hybrid

5 years agocore/mount: do not add Before=local-fs.target or remote-fs.target if nofail mount...
Yu Watanabe [Sat, 26 Jan 2019 11:00:04 +0000 (12:00 +0100)] 
core/mount: do not add Before=local-fs.target or remote-fs.target if nofail mount option is set

Follow-up for d54bab90e64f70c1ecf9b0683a98adb8485ed09e.

Fixes #11558.

5 years agoAdd missing dash to --all option in the timedatectl man page
Jonathan Roemer [Sat, 26 Jan 2019 00:46:15 +0000 (18:46 -0600)] 
Add missing dash to --all option in the timedatectl man page

5 years agotest/test-functions: on PPC64 use hvc0 console 11545/head
Dimitri John Ledkov [Tue, 20 Feb 2018 12:01:40 +0000 (12:01 +0000)] 
test/test-functions: on PPC64 use hvc0 console

5 years agotest/test-functions: on PP64 use vmlinux
Dimitri John Ledkov [Mon, 19 Feb 2018 20:47:41 +0000 (20:47 +0000)] 
test/test-functions: on PP64 use vmlinux

At least on Ubuntu, ppc64el uses vmlinux-, not vmlinuz. With this, it should be
possible to run qemu tests on ppc64el as part of Ubuntu autopkgtests.

5 years agodhcp/trivial: fix spelling error in comment
Thomas Haller [Fri, 25 Jan 2019 10:24:06 +0000 (11:24 +0100)] 
dhcp/trivial: fix spelling error in comment

5 years agoMerge pull request #11547 from yuwata/network-cosmetic-fixes
Lennart Poettering [Thu, 24 Jan 2019 23:18:45 +0000 (00:18 +0100)] 
Merge pull request #11547 from yuwata/network-cosmetic-fixes

network: trivial fix and cleanup

5 years agotimesyncd: Improve sync log message. Fixes #11548.
Niklas Hambüchen [Thu, 24 Jan 2019 19:52:01 +0000 (20:52 +0100)] 
timesyncd: Improve sync log message. Fixes #11548.

This makes it clear that the user should not expect more log messages
each time the time is synchronised.

5 years agotest-bpf: check if we can mlock() before trying bpf
Lennart Poettering [Thu, 24 Jan 2019 09:19:33 +0000 (10:19 +0100)] 
test-bpf: check if we can mlock() before trying bpf

5 years agonetwork: fix an error log 11547/head
Yu Watanabe [Thu, 24 Jan 2019 05:33:58 +0000 (14:33 +0900)] 
network: fix an error log

5 years agonetwork: make link_up() static
Yu Watanabe [Thu, 24 Jan 2019 03:07:41 +0000 (12:07 +0900)] 
network: make link_up() static

5 years agocryptsetup: rework how we log about activation failures 11513/head
Lennart Poettering [Mon, 21 Jan 2019 19:19:11 +0000 (20:19 +0100)] 
cryptsetup: rework how we log about activation failures

First of all let's always log where the errors happen, and not in an
upper stackframe, in all cases. Previously we'd do this somethis one way
and sometimes another, which resulted in sometimes duplicate logging and
sometimes none.

When we cannot activate something due to bad password the kernel gives
us EPERM. Let's uniformly return this EAGAIN, so tha the next password
is tried. (previously this was done in most cases but not in all)

When we get EPERM let's also explicitly indicate that this probably
means the password is simply wrong.

Fixes: #11498
5 years agocryptsetup: add comment what EAGAIN means when activating
Lennart Poettering [Mon, 21 Jan 2019 19:20:35 +0000 (20:20 +0100)] 
cryptsetup: add comment what EAGAIN means when activating

5 years agocryptsetup: downgrade a log message we ignore
Lennart Poettering [Mon, 21 Jan 2019 19:19:57 +0000 (20:19 +0100)] 
cryptsetup: downgrade a log message we ignore

5 years agocryptsetup: don't line-break so aggressively
Lennart Poettering [Mon, 21 Jan 2019 19:14:42 +0000 (20:14 +0100)] 
cryptsetup: don't line-break so aggressively

5 years agocryptsetup: add some commenting about EAGAIN generation
Lennart Poettering [Mon, 21 Jan 2019 19:13:11 +0000 (20:13 +0100)] 
cryptsetup: add some commenting about EAGAIN generation

5 years agocryptsetup: modernize some log message invocations
Lennart Poettering [Mon, 21 Jan 2019 19:02:33 +0000 (20:02 +0100)] 
cryptsetup: modernize some log message invocations

5 years agocryptsetup: use free_and_replace() where appropriate
Lennart Poettering [Mon, 21 Jan 2019 19:01:38 +0000 (20:01 +0100)] 
cryptsetup: use free_and_replace() where appropriate

5 years agoMerge pull request #11536 from yuwata/fix-11529
Lennart Poettering [Wed, 23 Jan 2019 22:35:38 +0000 (23:35 +0100)] 
Merge pull request #11536 from yuwata/fix-11529

sd-device-monitor: use SO_DETACH_FILTER to remove BPF program

5 years agoCorrect more spelling errors.
Chris Lamb [Wed, 23 Jan 2019 21:33:29 +0000 (22:33 +0100)] 
Correct more spelling errors.

5 years agohwdb: fix duplicate events on Huawei MACH-WX9
Ayman Bagabas [Tue, 22 Jan 2019 04:50:35 +0000 (23:50 -0500)] 
hwdb: fix duplicate events on Huawei MACH-WX9

Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>
5 years agotest: add test for sd_device_monitor_filter_remove() 11536/head
Yu Watanabe [Wed, 23 Jan 2019 06:03:37 +0000 (15:03 +0900)] 
test: add test for sd_device_monitor_filter_remove()

5 years agosd-device-monitor: use SO_DETACH_FILTER to remove BPF program
Yu Watanabe [Wed, 23 Jan 2019 05:27:17 +0000 (14:27 +0900)] 
sd-device-monitor: use SO_DETACH_FILTER to remove BPF program

Fixes #11529.

5 years agoREADME: remove Coverity Scan badge
Filipe Brandenburger [Tue, 22 Jan 2019 19:52:04 +0000 (11:52 -0800)] 
README: remove Coverity Scan badge

The badge is currently serving a broken image, since Coverity Scan is currently
having an outage. See Issue #11185 for more details. We can restore the badge
by reverting this commit once their service is up again.

5 years agohwdb: Add support for Purism Librem 13 V4 keyboards
Chris Lamb [Mon, 21 Jan 2019 23:43:22 +0000 (23:43 +0000)] 
hwdb: Add support for Purism Librem 13 V4 keyboards

5 years agoprocfs-util: expose functionality to query total memory
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 14:43:07 +0000 (15:43 +0100)] 
procfs-util: expose functionality to query total memory

procfs_memory_get_current is renamed to procfs_memory_get_used, because
"current" can mean anything, including total memory, used memory, and free
memory, as long as the value is up to date.

No functional change.

5 years agomeson: make version a dependency and use it in libbasic
Louis Taylor [Mon, 21 Jan 2019 21:45:36 +0000 (21:45 +0000)] 
meson: make version a dependency and use it in libbasic

This should hopefully ensure it gets generated before basic build
happens.

Fixes #11483.

5 years agoMerge pull request #11501 from yuwata/fix-9426
Lennart Poettering [Tue, 22 Jan 2019 10:57:06 +0000 (11:57 +0100)] 
Merge pull request #11501 from yuwata/fix-9426

sd-device: do not save e.g., DEVPATH or INTERFACE properties to udev database

5 years agoFixes #11128
Taro Yamada [Tue, 22 Jan 2019 02:47:45 +0000 (11:47 +0900)] 
Fixes #11128

5 years agohwdb: update
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 09:33:27 +0000 (10:33 +0100)] 
hwdb: update

Looks to be additions and corrections again. It seems somebody removed
some whitespace in variuos places by mistake, let's hope this gets corrected
upstream. Doing such corrections downstream is not worth the trouble.

5 years agoMerge pull request #11448 from poettering/rlimit-pid1-fixo
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 09:07:52 +0000 (10:07 +0100)] 
Merge pull request #11448 from poettering/rlimit-pid1-fixo

RLIMIT_MEMLOCK fixes

5 years agoresolved: preferably route single-label lookups to unicast DNS scopes with search...
Lennart Poettering [Tue, 22 Jan 2019 08:57:49 +0000 (09:57 +0100)] 
resolved: preferably route single-label lookups to unicast DNS scopes with search domains (#11485)

Fixes: #11391
5 years agoman: udevadm: clarify the behavior when multiple matching rules are specified
Yu Watanabe [Tue, 22 Jan 2019 06:52:39 +0000 (15:52 +0900)] 
man: udevadm: clarify the behavior when multiple matching rules are specified

Closes #2995.

5 years agoMerge pull request #11519 from yuwata/udevadm-info-2476
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 07:30:26 +0000 (08:30 +0100)] 
Merge pull request #11519 from yuwata/udevadm-info-2476

udevadm info: make -P imply -x and update man page

5 years agoman: document db_persist udev rules OPTION
Michal Sekletar [Mon, 21 Jan 2019 22:05:46 +0000 (23:05 +0100)] 
man: document db_persist udev rules OPTION

Fixes #1551

5 years agoman: add more explanation about options for "udevadm test" 11519/head
Yu Watanabe [Tue, 22 Jan 2019 06:05:55 +0000 (15:05 +0900)] 
man: add more explanation about options for "udevadm test"

Closes #2476.

5 years agoudevadm info: make --export-prefix imply --export
Yu Watanabe [Tue, 22 Jan 2019 06:00:33 +0000 (15:00 +0900)] 
udevadm info: make --export-prefix imply --export

Setting --export without --export-prefix is meaningless.

5 years agocore/device: fix log message 11501/head
Yu Watanabe [Tue, 22 Jan 2019 03:02:48 +0000 (12:02 +0900)] 
core/device: fix log message

5 years agosd-device: do not save e.g., DEVPATH or INTERFACE properties to udev database
Yu Watanabe [Tue, 22 Jan 2019 02:45:40 +0000 (11:45 +0900)] 
sd-device: do not save e.g., DEVPATH or INTERFACE properties to udev database

Previously, device_copy_properties() copies all properties to both
sd_device::properties and ::properties_db. Thus, on move uevent,
also tentative properties, e.g. DEVPATH or INTERFACE, are stored to
::properties_db, and saved to udev database.

This makes such tentative properties be copied to only ::properties,
and thus not saved to udev database.

Fixes #9426.

5 years agowait-online: do not fail if we receive invalid messages
Yu Watanabe [Fri, 18 Jan 2019 22:59:17 +0000 (07:59 +0900)] 
wait-online: do not fail if we receive invalid messages

Fixes #11486.

5 years agonetwork: unset Network::manager when loading .network file fails
Yu Watanabe [Fri, 18 Jan 2019 03:55:15 +0000 (12:55 +0900)] 
network: unset Network::manager when loading .network file fails

Otherwise, LIST_REMOVE() in network_free() fails.

This fixes the following assertion:
```
systemd-networkd[2595]: Bus bus-api-network: changing state UNSET → OPENING
systemd-networkd[2595]: Bus bus-api-network: changing state OPENING → AUTHENTICATING
systemd-networkd[2595]: timestamp of '/etc/systemd/network' changed
systemd-networkd[2595]: /etc/systemd/network/10-hoge.network:1: Invalid section header '[Network]Address=192.168.0.1'
systemd-networkd[2595]: /etc/systemd/network/10-hoge.network:1: Failed to parse file: Bad message
systemd-networkd[2595]: Assertion '*_head == _item' failed at ../../home/watanabe/git/systemd/src/network/networkd-network.c:378, function network_free(). Aborting.
valgrind[2595]: ==2595==
valgrind[2595]: ==2595== Process terminating with default action of signal 6 (SIGABRT): dumping core
valgrind[2595]: ==2595==    at 0x4BCA53F: raise (in /usr/lib64/libc-2.28.so)
valgrind[2595]: ==2595==    by 0x4BB4894: abort (in /usr/lib64/libc-2.28.so)
valgrind[2595]: ==2595==    by 0x4955F09: log_assert_failed_realm (log.c:795)
valgrind[2595]: ==2595==    by 0x417101: network_free (networkd-network.c:378)
valgrind[2595]: ==2595==    by 0x415E99: network_freep (networkd-network.h:282)
valgrind[2595]: ==2595==    by 0x416AB2: network_load_one (networkd-network.c:101)
valgrind[2595]: ==2595==    by 0x416C39: network_load (networkd-network.c:293)
valgrind[2595]: ==2595==    by 0x414031: manager_load_config (networkd-manager.c:1502)
valgrind[2595]: ==2595==    by 0x40B258: run (networkd.c:82)
valgrind[2595]: ==2595==    by 0x40B74A: main (networkd.c:117)
valgrind[2595]: ==2595==
valgrind[2595]: ==2595== HEAP SUMMARY:
valgrind[2595]: ==2595==     in use at exit: 32,621 bytes in 201 blocks
valgrind[2595]: ==2595==   total heap usage: 746 allocs, 545 frees, 241,027 bytes allocated
valgrind[2595]: ==2595==
valgrind[2595]: ==2595== LEAK SUMMARY:
valgrind[2595]: ==2595==    definitely lost: 0 bytes in 0 blocks
valgrind[2595]: ==2595==    indirectly lost: 0 bytes in 0 blocks
valgrind[2595]: ==2595==      possibly lost: 0 bytes in 0 blocks
valgrind[2595]: ==2595==    still reachable: 32,621 bytes in 201 blocks
valgrind[2595]: ==2595==         suppressed: 0 bytes in 0 blocks
valgrind[2595]: ==2595== Reachable blocks (those to which a pointer was found) are not shown.
valgrind[2595]: ==2595== To see them, rerun with: --leak-check=full --show-leak-kinds=all
valgrind[2595]: ==2595==
valgrind[2595]: ==2595== For counts of detected and suppressed errors, rerun with: -v
valgrind[2595]: ==2595== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
systemd-coredump[2600]: Process 2595 (memcheck-amd64-) of user 192 dumped core.
```

5 years agoman: mention that 'udevadm control --exit' restarts systemd-udevd.service
Yu Watanabe [Wed, 16 Jan 2019 22:25:14 +0000 (07:25 +0900)] 
man: mention that 'udevadm control --exit' restarts systemd-udevd.service

Closes #1802.

5 years agotest-process-util: do not assume PID 1 has UID=0
Mike Gilbert [Sun, 20 Jan 2019 16:32:45 +0000 (11:32 -0500)] 
test-process-util: do not assume PID 1 has UID=0

Gentoo's Portage package manager uses a PID namespace for process
isolation and cleanup. In this namespace, PID 1 has UID=250 (portage).

Bug: https://bugs.gentoo.org/674458

5 years agoEnable some more debug logging for transaction building
Jonathon Kowalski [Thu, 17 Jan 2019 18:28:20 +0000 (18:28 +0000)] 
Enable some more debug logging for transaction building

5 years agoDocument weaknesses with MDWE and suggest hardening
Topi Miettinen [Fri, 18 Jan 2019 21:32:28 +0000 (23:32 +0200)] 
Document weaknesses with MDWE and suggest hardening

Closes #11473

5 years agotest: mark plymouth as optional dependency
Frantisek Sumsal [Fri, 18 Jan 2019 19:49:29 +0000 (20:49 +0100)] 
test: mark plymouth as optional dependency

rescue.service pulls in /bin/plymouth, which doesn't exist on some
distributions (e.g. Arch Linux). Let's mark it as optional, as it's not
even required by the referencing unit and causes unwanted fails in the
integration testsuite.

5 years agoNEWS: add section about backslashes in EnvironmentFile
Louis Taylor [Fri, 18 Jan 2019 19:40:52 +0000 (19:40 +0000)] 
NEWS: add section about backslashes in EnvironmentFile

As a follow-up from #11427.

5 years agomeson: bump timeout for test-udev to 180s
Frantisek Sumsal [Fri, 18 Jan 2019 21:32:42 +0000 (22:32 +0100)] 
meson: bump timeout for test-udev to 180s

On some (mainly virtual) machines the last test takes more than 30
seconds, which causes unnecessary fails, as the test itself is working
properly.

5 years agoRevert "hwdb: Fix secondary backslash on MSI GS65 laptop"
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jan 2019 07:21:27 +0000 (08:21 +0100)] 
Revert "hwdb: Fix secondary backslash on MSI GS65 laptop"

This reverts commit e05c8b44622afe4256f3bb361cfb2c7db32fff8e.

The key in question is labeled as "|\" in the US version, and e.g. "<>" in
European version. In the US version there are two keys with the same label
and they are both mapped to the same keycode. Let's revert the patch, to unbreak
the non-US users.

US users should apply some local work-around, possibly simply keeping the
contents of the patch as a file in hwdb.d/.

5 years agomkosi: add qrencode to arch package list
Louis Taylor [Fri, 18 Jan 2019 21:41:15 +0000 (21:41 +0000)] 
mkosi: add qrencode to arch package list

Before adding this, I got errors about the library being missing such
as:

        journalctl: error while loading shared libraries: libqrencode.so.4: cannot open shared object file: No such file or directory

Fixes #7367.

5 years agoMerge pull request #11424 from yuwata/fix-11420
Lennart Poettering [Fri, 18 Jan 2019 16:58:20 +0000 (17:58 +0100)] 
Merge pull request #11424 from yuwata/fix-11420

timedate: refuse setting time when unit is in 'activating' or friends

5 years agoMerge pull request #11349 from yuwata/udevadm-control-ping
Zbigniew Jędrzejewski-Szmek [Fri, 18 Jan 2019 16:41:00 +0000 (17:41 +0100)] 
Merge pull request #11349 from yuwata/udevadm-control-ping

Add 'udevadm control --ping'

5 years agoexecute: make sure to call into PAM after initializing resource limits 11448/head
Lennart Poettering [Thu, 17 Jan 2019 11:24:14 +0000 (12:24 +0100)] 
execute: make sure to call into PAM after initializing resource limits

We want that pam_limits takes precedence over our settings, after all.

Fixes: #11386
5 years agofd-util: rework how we determine highest possible fd
Lennart Poettering [Thu, 17 Jan 2019 11:23:21 +0000 (12:23 +0100)] 
fd-util: rework how we determine highest possible fd

5 years agomain: when generating the resource limit to pass to children, take FD_SETSIZE into...
Lennart Poettering [Wed, 16 Jan 2019 17:06:18 +0000 (18:06 +0100)] 
main: when generating the resource limit to pass to children, take FD_SETSIZE into consideration

When we synthesize a "struct rlimit" structure to pass on for
RLIMIT_NOFILE to our children, let's explicitly make sure that the soft
limit is not above FD_SETSIZE, for compat reason with select().

Note this only applies when we derive the "struct rlimit" from what we
inherited. If the user configures something explicitly it always takes
precedence.

5 years agomain: don't bump resource limits if they are higher than we need them anyway
Lennart Poettering [Wed, 16 Jan 2019 17:05:14 +0000 (18:05 +0100)] 
main: don't bump resource limits if they are higher than we need them anyway

This matters in particular in the case of --user, since there we lack
the privs to bump the limits up again later on when invoking children.

5 years agomain: add commenting, clean up handling of saved resource limits
Lennart Poettering [Wed, 16 Jan 2019 13:50:03 +0000 (14:50 +0100)] 
main: add commenting, clean up handling of saved resource limits

This doesn't really change behaviour, but adds comments and uses more
symbolic names for everything, to make this more readable.

5 years agomain: when bumping RLIMIT_MEMLOCK, save the previous value to pass to children
Lennart Poettering [Wed, 16 Jan 2019 13:47:09 +0000 (14:47 +0100)] 
main: when bumping RLIMIT_MEMLOCK, save the previous value to pass to children

Let's make sure that the bumping of RLIMIT_MEMLOCK does not leak into
our children.

5 years agobash-completion: udevadm: support recently added options 11349/head
Yu Watanabe [Sat, 12 Jan 2019 23:14:17 +0000 (08:14 +0900)] 
bash-completion: udevadm: support recently added options

5 years agoudevd: rename control command SYNC -> PING in log message
Yu Watanabe [Sat, 12 Jan 2019 23:12:24 +0000 (08:12 +0900)] 
udevd: rename control command SYNC -> PING in log message

5 years agoudevadm: add --wait-daemon option to 'trigger' command
Yu Watanabe [Sat, 12 Jan 2019 23:10:12 +0000 (08:10 +0900)] 
udevadm: add --wait-daemon option to 'trigger' command

5 years agoudevadm: add --ping option to 'control' command
Yu Watanabe [Sat, 12 Jan 2019 22:44:38 +0000 (07:44 +0900)] 
udevadm: add --ping option to 'control' command

This exposes `udev_ctrl_send_ping()`.

5 years agocore/mount: move static function earlier in file
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jan 2019 20:17:51 +0000 (21:17 +0100)] 
core/mount: move static function earlier in file

No functional change.

5 years agoNEWS: retroactively describe .include deprecation
Zbigniew Jędrzejewski-Szmek [Fri, 18 Jan 2019 12:45:10 +0000 (13:45 +0100)] 
NEWS: retroactively describe .include deprecation

Closes #11479.

5 years agosd-event: introduce event_free_signal_data()
Yu Watanabe [Fri, 18 Jan 2019 06:16:22 +0000 (15:16 +0900)] 
sd-event: introduce event_free_signal_data()

We already have event_free_inotify_data() and event_free_inode_data().

5 years agoMerge pull request #11450 from keszybz/drop-nolegacy
Lennart Poettering [Fri, 18 Jan 2019 12:51:15 +0000 (13:51 +0100)] 
Merge pull request #11450 from keszybz/drop-nolegacy

Drop unused NOLEGACY define

5 years agoChange job mode of manager triggered restarts to JOB_REPLACE
Jonathon Kowalski [Thu, 17 Jan 2019 17:08:00 +0000 (17:08 +0000)] 
Change job mode of manager triggered restarts to JOB_REPLACE

Fixes: #11305
Fixes: #3260
Related: #11456

So, here's what happens in the described scenario in #11305. A unit goes
down, and that triggeres stop jobs for the other two units as they were
bound to it. Now, the timer for manager triggered restarts kicks in and
schedules a restart job with the JOB_FAIL job mode. This means there is
a stop job installed on those units, and now due to them being bound to
us they also get a restart job enqueued. This however is a conflicts, as
neither stop can merge into restart, nor restart into stop. However,
restart should be able to replace stop in any case. If the stop
procedure is ongoing, it can cancel the stop job, install itself, and
then after reaching dead finish and convert itself to a start job.
However, if we increase the timer, then it can always take those units
from inactive -> auto-restart.

We change the job mode to JOB_REPLACE so the restart job cancels the
stop job and installs itself.

Also, the original bug could be worked around by bumping RestartSec= to
avoid the conflicting.

This doesn't seem to be something that is going to break uses. That is
because for those who already had it working, there must have never been
conflicting jobs, as that would result in a desctructive transaction by
virtue of the job mode used.

After this change, the test case is able to work nicely without issues.

5 years agoMerge pull request #11427 from kragniz/10659-env-file-quotes
Lennart Poettering [Fri, 18 Jan 2019 12:50:15 +0000 (13:50 +0100)] 
Merge pull request #11427 from kragniz/10659-env-file-quotes

util-lib: follow shell syntax for escape in quotes

5 years agoAdd multiple initrd file support to kernel-install
Mike Auty [Thu, 17 Jan 2019 18:06:09 +0000 (18:06 +0000)] 
Add multiple initrd file support to kernel-install

Instead of having just a single INITRD field, add support for all
additional parameters being INITRD fields in order.

Signed-off-by: Mike Auty <mike.auty@gmail.com>
5 years agoadd hwdb rule for Bangho touchpad (#11475)
dcanuhe [Fri, 18 Jan 2019 12:49:30 +0000 (09:49 -0300)] 
add hwdb rule for Bangho touchpad (#11475)

add hwdb rule for Bangho touchpad

5 years agoMerge pull request #11465 from poettering/daemon-bus-flush
Lennart Poettering [Fri, 18 Jan 2019 12:48:52 +0000 (13:48 +0100)] 
Merge pull request #11465 from poettering/daemon-bus-flush

flush+close bus connections explicitly when our daemons go down

5 years agoMerge pull request #11449 from keszybz/udev-link-naming-again
Lennart Poettering [Thu, 17 Jan 2019 19:06:55 +0000 (20:06 +0100)] 
Merge pull request #11449 from keszybz/udev-link-naming-again

Make udev link re-renaming conditional