]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agoMerge pull request #10678 from evverx/more-travis-tweaks
Evgeny Vereshchagin [Thu, 8 Nov 2018 22:43:57 +0000 (01:43 +0300)] 
Merge pull request #10678 from evverx/more-travis-tweaks

travis: also rebuild everything with ASan and UBSan and install dependencies necessary for running parse-hwdb.py

5 years agocgroup: actually reset the cgroup invalidation mask after we made our changes
Lennart Poettering [Thu, 18 Oct 2018 08:02:00 +0000 (10:02 +0200)] 
cgroup: actually reset the cgroup invalidation mask after we made our changes

Previously we never unmasked the mask after it was set once. Let's fix
that.

5 years agounit: replace three non-type-safe macros by type-safe inline functions
Lennart Poettering [Thu, 8 Nov 2018 11:27:39 +0000 (12:27 +0100)] 
unit: replace three non-type-safe macros by type-safe inline functions

Behaviour is prett ymuch the same, but there's some additional type
checking done on the input parameters.

(In the case of UNIT_WRITE_FLAGS_NOOP() the C compiler won't actually do
the type checking necessarily, but static chckers at least could)

5 years agotravis: use 3 times the normal timeout when the tests are run under ASan+UBSan 10678/head
Evgeny Vereshchagin [Thu, 8 Nov 2018 12:45:46 +0000 (13:45 +0100)] 
travis: use 3 times the normal timeout when the tests are run under ASan+UBSan

5 years agotravis.yml: replace test-capability with a script exiting with 77
Evgeny Vereshchagin [Thu, 8 Nov 2018 12:40:56 +0000 (13:40 +0100)] 
travis.yml: replace test-capability with a script exiting with 77

The test is currently failing when run under ASan in a docker container:
```
--- command ---
SYSTEMD_KBD_MODEL_MAP='/build/src/locale/kbd-model-map' PATH='/build/build:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' SYSTEMD_LANGUAGE_FALLBACK_MAP='/build/src/locale/language-fallback-map' /build/build/test-capability
--- stderr ---
have ambient caps: yes
Capabilities:= cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read+eip
Capabilities:= cap_dac_override,cap_net_raw+ep
==7021==LeakSanitizer has encountered a fatal error.
==7021==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==7021==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
Assertion 'WIFEXITED(status) && WEXITSTATUS(status) == 0' failed at ../src/test/test-capability.c:71, function fork_test(). Aborting.
-------
```

https://api.travis-ci.org/v3/job/452349948/log.txt

5 years agotravis: run ASan job in parallel with the standard one
Frantisek Sumsal [Thu, 8 Nov 2018 11:47:07 +0000 (12:47 +0100)] 
travis: run ASan job in parallel with the standard one

5 years agotravis: UBSan should be every C programmer's friend so let's build systemd with it too
Evgeny Vereshchagin [Thu, 8 Nov 2018 00:28:11 +0000 (01:28 +0100)] 
travis: UBSan should be every C programmer's friend so let's build systemd with it too

5 years agotest: initialize hwdb so that the test won't try to free memory it has never allocated
Evgeny Vereshchagin [Wed, 7 Nov 2018 22:24:16 +0000 (23:24 +0100)] 
test: initialize hwdb so that the test won't try to free memory it has never allocated

See https://github.com/systemd/systemd/pull/10678#issuecomment-436790906.

5 years agotravis: move the ASan part into a separate stage
Evgeny Vereshchagin [Wed, 7 Nov 2018 22:01:27 +0000 (23:01 +0100)] 
travis: move the ASan part into a separate stage

5 years agotravis: also rebuild everything with ASan
Evgeny Vereshchagin [Wed, 7 Nov 2018 21:23:46 +0000 (22:23 +0100)] 
travis: also rebuild everything with ASan

It should help to catch issues like https://github.com/systemd/systemd/issues/10677.

5 years agotravis: install dependencies necessary for running parse-hwdb.py
Evgeny Vereshchagin [Wed, 7 Nov 2018 21:17:51 +0000 (22:17 +0100)] 
travis: install dependencies necessary for running parse-hwdb.py

5 years agoMerge pull request #10676 from poettering/rdrand-everywhere
Zbigniew Jędrzejewski-Szmek [Thu, 8 Nov 2018 12:33:02 +0000 (13:33 +0100)] 
Merge pull request #10676 from poettering/rdrand-everywhere

prefer RDRAND over getrandom() and /dev/urandom when we don't need the very best randomness

5 years agoMerge pull request #10651 from yuwata/fix-10598
Lennart Poettering [Thu, 8 Nov 2018 11:36:06 +0000 (12:36 +0100)] 
Merge pull request #10651 from yuwata/fix-10598

conf-parser: ignore trailing back-slash in comment

5 years agoMerge pull request #10687 from mrc0mmand/fix-test-capabilities
Lennart Poettering [Thu, 8 Nov 2018 11:35:39 +0000 (12:35 +0100)] 
Merge pull request #10687 from mrc0mmand/fix-test-capabilities

Fix test-capability

5 years agotravis: drop the workaround for test-capability 10687/head
Frantisek Sumsal [Thu, 8 Nov 2018 09:26:01 +0000 (10:26 +0100)] 
travis: drop the workaround for test-capability

5 years agotests: drop the precondition check for inherited flag
Frantisek Sumsal [Thu, 8 Nov 2018 08:40:13 +0000 (09:40 +0100)] 
tests: drop the precondition check for inherited flag

Docker's default capability set has the inherited flag already
set - that breaks tests which expect otherwise. Let's just
drop the check and run the test anyway.

Fixes #10663

5 years agocore/device: use LIST_FOREACH_AFTER() or friend
Yu Watanabe [Thu, 8 Nov 2018 04:02:45 +0000 (13:02 +0900)] 
core/device: use LIST_FOREACH_AFTER() or friend

5 years agounit: make UNIT() cast function deal with NULL pointers
Lennart Poettering [Thu, 8 Nov 2018 08:33:31 +0000 (09:33 +0100)] 
unit: make UNIT() cast function deal with NULL pointers

Fixes: #10681
5 years agoman: document the details of continuations and comments 10651/head
Zbigniew Jędrzejewski-Szmek [Thu, 8 Nov 2018 08:36:52 +0000 (09:36 +0100)] 
man: document the details of continuations and comments

5 years agoconf-parser: ignore trailing back-slash in comment
Yu Watanabe [Tue, 6 Nov 2018 04:22:09 +0000 (13:22 +0900)] 
conf-parser: ignore trailing back-slash in comment

Fixes #10598.

5 years agorandom-util: optionally allow randomness to be generated via RDRAND 10676/head
Lennart Poettering [Wed, 7 Nov 2018 18:46:18 +0000 (19:46 +0100)] 
random-util: optionally allow randomness to be generated via RDRAND

We only use this when we don't require the best randomness. The primary
usecase for this is UUID generation, as this means we don't drain
randomness from the kernel pool for them. Since UUIDs are usually not
secrets RDRAND should be goot enough for them to avoid real-life
collisions.

5 years agorandom-util: introduce RANDOM_DONT_DRAIN
Lennart Poettering [Wed, 7 Nov 2018 18:31:39 +0000 (19:31 +0100)] 
random-util: introduce RANDOM_DONT_DRAIN

Originally, the high_quality_required boolean argument controlled two
things: whether to extend any random data we successfully read with
pseudo-random data, and whether to return -ENODATA if we couldn't read
any data at all.

The boolean got replaced by RANDOM_EXTEND_WITH_PSEUDO, but this name
doesn't really cover the second part nicely. Moreover hiding both
changes of behaviour under a single flag is confusing. Hence, let's
split this part off under a new flag, and use it from random_bytes().

5 years agorandom-util: if zero random bytes are requested we can always fulfill the request
Lennart Poettering [Wed, 7 Nov 2018 18:14:47 +0000 (19:14 +0100)] 
random-util: if zero random bytes are requested we can always fulfill the request

5 years agorandom-util: optionally enable blocking getrandom() behaviour
Lennart Poettering [Wed, 7 Nov 2018 18:04:04 +0000 (19:04 +0100)] 
random-util: optionally enable blocking getrandom() behaviour

When generating the salt for the firstboot password logic, let's use
getrandom() blocking mode, and insist in the very best entropy.

5 years agorandom-util: change high_quality_required bool parameter into a flags parameter
Lennart Poettering [Wed, 7 Nov 2018 17:40:26 +0000 (18:40 +0100)] 
random-util: change high_quality_required bool parameter into a flags parameter

No change in behaviour, just some refactoring.

5 years agorandom-util: fix indentation
Lennart Poettering [Wed, 7 Nov 2018 17:52:41 +0000 (18:52 +0100)] 
random-util: fix indentation

5 years agorandom-util: handle if getrandom() returns 0
Lennart Poettering [Wed, 7 Nov 2018 17:37:13 +0000 (18:37 +0100)] 
random-util: handle if getrandom() returns 0

This should normally not happen, but given that the man page suggests
something about this in the context of interruption, let's handle this
and propagate an I/O error.

5 years agorandom-util: rename acquire_random_bytes() → genuine_random_bytes()
Lennart Poettering [Wed, 7 Nov 2018 17:27:57 +0000 (18:27 +0100)] 
random-util: rename acquire_random_bytes() → genuine_random_bytes()

It's more descriptive, since we also have a function random_bytes()
which sounds very similar.

Also rename pseudorandom_bytes() to pseudo_random_bytes(). This way the
two functions are nicely systematic, one returning genuine random bytes
and the other pseudo random ones.

5 years agoMerge pull request #10682 from yuwata/fix-oss-fuzz-network-issues
Lennart Poettering [Thu, 8 Nov 2018 08:37:35 +0000 (09:37 +0100)] 
Merge pull request #10682 from yuwata/fix-oss-fuzz-network-issues

network: fix memleak

5 years agocore: introduce exec_params_clear()
Yu Watanabe [Thu, 8 Nov 2018 05:08:10 +0000 (14:08 +0900)] 
core: introduce exec_params_clear()

Follow-up for 1ad6e8b302e87b6891a2bfc35ad397b0afe3d940.

Fixes #10677.

5 years agoman: Fix implicit dep info for timer units (#10679)
Matthew Leeds [Thu, 8 Nov 2018 03:41:06 +0000 (19:41 -0800)] 
man: Fix implicit dep info for timer units (#10679)

This reorganizes the systemd.timer man page so that it doesn't claim
there are no implicit dependencies right after specifying the implicit
dependencies, and so that it matches the other man pages for units. This
fixes a mistake introduced by commit aed5cb03db.

5 years agofuzz: add a testcase for oss-fuzz#11285 10682/head
Yu Watanabe [Thu, 8 Nov 2018 03:31:02 +0000 (12:31 +0900)] 
fuzz: add a testcase for oss-fuzz#11285

5 years agonetwork: adds missing strv_free()
Yu Watanabe [Thu, 8 Nov 2018 03:30:00 +0000 (12:30 +0900)] 
network: adds missing strv_free()

Fixes oss-fuzz#11285.

5 years agonetwork: make config_parse_radv_search_domains() log error in dns_name_apply_idna()
Yu Watanabe [Thu, 8 Nov 2018 03:29:38 +0000 (12:29 +0900)] 
network: make config_parse_radv_search_domains() log error in dns_name_apply_idna()

5 years agofuzz: add more testcases of already fixed issue about multiple netdev kind
Yu Watanabe [Thu, 8 Nov 2018 03:15:09 +0000 (12:15 +0900)] 
fuzz: add more testcases of already fixed issue about multiple netdev kind

This adds testcases of oss-fuzz#11286, oss-fuzz#11287, oss-fuzz#11296,
oss-fuzz#11297, and oss-fuzz#11299.

The issue was fixed by 62facba19ad645df7fb425ce170bdbda208b303c.

5 years agoMerge pull request #10670 from yuwata/oss-fuzz-netdev-fixes
Zbigniew Jędrzejewski-Szmek [Wed, 7 Nov 2018 18:31:31 +0000 (19:31 +0100)] 
Merge pull request #10670 from yuwata/oss-fuzz-netdev-fixes

network: ignore multiple assignment of netdev kind

5 years agologind: fix compilation without utmp (#10674)
Steven Allen [Wed, 7 Nov 2018 16:29:21 +0000 (08:29 -0800)] 
logind: fix compilation without utmp (#10674)

5 years agoask-password: improve log message when inotify limit is reached
Jan Synacek [Mon, 8 Oct 2018 13:14:38 +0000 (15:14 +0200)] 
ask-password: improve log message when inotify limit is reached

When inotify_add_watch() fails because of the inotify limit, errno is
set to ENOSPC and then gets shown to users as "No space left on device".
That is very confusing and requires in-depth knowledge of the C library.
Therefore, show user-friendly message when inotify limit is reached.

Fixes #6030.

5 years agoMerge pull request #10594 from poettering/env-reload-fix
Zbigniew Jędrzejewski-Szmek [Wed, 7 Nov 2018 11:49:13 +0000 (12:49 +0100)] 
Merge pull request #10594 from poettering/env-reload-fix

change handling of environment block of PID1's manager object

5 years agoMerge pull request #10610 from yuwata/udev-rules-cleanups
Zbigniew Jędrzejewski-Szmek [Wed, 7 Nov 2018 10:34:33 +0000 (11:34 +0100)] 
Merge pull request #10610 from yuwata/udev-rules-cleanups

udev-rules: replace udev_device by sd_device

5 years agonetwork: drop unused members in Wireguard object 10670/head
Yu Watanabe [Wed, 7 Nov 2018 09:14:11 +0000 (18:14 +0900)] 
network: drop unused members in Wireguard object

5 years agofuzz: add testcases for oss-fuzz#11279 and #11280
Yu Watanabe [Wed, 7 Nov 2018 08:24:41 +0000 (17:24 +0900)] 
fuzz: add testcases for oss-fuzz#11279 and #11280

5 years agonetwork: ignore multiple assignment of netdev kind
Yu Watanabe [Wed, 7 Nov 2018 08:21:41 +0000 (17:21 +0900)] 
network: ignore multiple assignment of netdev kind

Fixes oss-fuzz#11279 and oss-fuzz#11280.

5 years agotest: missing "die"
Yu Watanabe [Wed, 7 Nov 2018 05:56:20 +0000 (14:56 +0900)] 
test: missing "die"

Follow-up for a41ff38b0999fb83464309a29b8f39450b8d4b85.

5 years agoMerge pull request #10668 from evverx/travis-tweaks
Evgeny Vereshchagin [Wed, 7 Nov 2018 07:13:21 +0000 (10:13 +0300)] 
Merge pull request #10668 from evverx/travis-tweaks

travis: build and run fuzzers against crash reproducers

5 years agotravis: show all commands when building systemd 10668/head
Evgeny Vereshchagin [Wed, 7 Nov 2018 06:49:50 +0000 (07:49 +0100)] 
travis: show all commands when building systemd

This should prevent Travis CI from terminating build jobs
that don't print anything for more than 10 minutes.

See https://travis-ci.org/systemd/systemd/builds/451737177.

5 years agotravis: build and run fuzzers against crash reproducers
Evgeny Vereshchagin [Wed, 7 Nov 2018 06:47:22 +0000 (07:47 +0100)] 
travis: build and run fuzzers against crash reproducers

5 years agoin-addr-util: make in_addr_default_prefix_from_string() or friend set 0 to prefixlen...
Yu Watanabe [Wed, 7 Nov 2018 06:31:26 +0000 (15:31 +0900)] 
in-addr-util: make in_addr_default_prefix_from_string() or friend set 0 to prefixlen when family == AF_INET6 (#10665)

Follow-up for a4798d4e6d88c2be2625ce62d8326eaa9b80f2ee.

Fixes #10662.

5 years agotest: replace udev_device by sd_device in test-udev 10610/head
Yu Watanabe [Thu, 1 Nov 2018 13:58:42 +0000 (22:58 +0900)] 
test: replace udev_device by sd_device in test-udev

5 years agoudevadm-test: replace udev_device by sd_device
Yu Watanabe [Thu, 1 Nov 2018 13:52:39 +0000 (22:52 +0900)] 
udevadm-test: replace udev_device by sd_device

5 years agoudev-event: make udev_event_new() take sd_device instead of udev_device
Yu Watanabe [Mon, 29 Oct 2018 07:27:13 +0000 (16:27 +0900)] 
udev-event: make udev_event_new() take sd_device instead of udev_device

5 years agoudev-rules: replace udev_device by sd_device in udev_rules_apply_to_event()
Yu Watanabe [Mon, 29 Oct 2018 07:15:07 +0000 (16:15 +0900)] 
udev-rules: replace udev_device by sd_device in udev_rules_apply_to_event()

5 years agoudev-rules: replace two udev_list_entry_foreach() by corresponding FOREACH_DEVICE_...
Yu Watanabe [Mon, 29 Oct 2018 06:39:53 +0000 (15:39 +0900)] 
udev-rules: replace two udev_list_entry_foreach() by corresponding FOREACH_DEVICE_*() macros

5 years agoudev-rules: use structured initializer
Yu Watanabe [Thu, 1 Nov 2018 13:30:43 +0000 (22:30 +0900)] 
udev-rules: use structured initializer

5 years agoudev-rules: drop unused member file_list in struct udev_rules
Yu Watanabe [Thu, 1 Nov 2018 13:28:01 +0000 (22:28 +0900)] 
udev-rules: drop unused member file_list in struct udev_rules

5 years agoudev-rules: make import_parent_into_properties() take sd_device
Yu Watanabe [Mon, 29 Oct 2018 06:31:19 +0000 (15:31 +0900)] 
udev-rules: make import_parent_into_properties() take sd_device

5 years agoudev-rules: make import_file_into_properties() take sd_device
Yu Watanabe [Mon, 29 Oct 2018 06:26:39 +0000 (15:26 +0900)] 
udev-rules: make import_file_into_properties() take sd_device

5 years agoudev-rules: make import_property_from_string() take sd_device
Yu Watanabe [Mon, 29 Oct 2018 06:24:14 +0000 (15:24 +0900)] 
udev-rules: make import_property_from_string() take sd_device

Also, this makes the function return negative errno, though its
return value is always ignored.

5 years agoudev: use sd_device for udev_event.dev_parent
Yu Watanabe [Mon, 29 Oct 2018 06:16:00 +0000 (15:16 +0900)] 
udev: use sd_device for udev_event.dev_parent

5 years agoudev-rules: make match_attr() take sd_device instead of udev_device
Yu Watanabe [Mon, 29 Oct 2018 06:15:25 +0000 (15:15 +0900)] 
udev-rules: make match_attr() take sd_device instead of udev_device

5 years agoudev: use sd_device for udev_event.dev_db
Yu Watanabe [Mon, 29 Oct 2018 06:01:39 +0000 (15:01 +0900)] 
udev: use sd_device for udev_event.dev_db

Also, this adds sd_device_unref for the object in udev_event_free()
for safety and readability of code.

5 years agoudev-event: make udev_event_new() take sd_netlink and take a reference of that
Yu Watanabe [Thu, 1 Nov 2018 13:19:31 +0000 (22:19 +0900)] 
udev-event: make udev_event_new() take sd_netlink and take a reference of that

5 years agoudev-event: make udev_event_new() take exec_delay
Yu Watanabe [Thu, 1 Nov 2018 13:13:57 +0000 (22:13 +0900)] 
udev-event: make udev_event_new() take exec_delay

5 years agotravis: make the directory with coverity tools available in a container
Evgeny Vereshchagin [Wed, 7 Nov 2018 03:36:57 +0000 (04:36 +0100)] 
travis: make the directory with coverity tools available in a container

Otherwise `coverity.sh build` will fail with
```
find: '/var/tmp/coverity-scan-analysis': No such file or directory
```

See https://travis-ci.org/systemd/systemd/jobs/451683385.

5 years agohwdb: IdeaPad Miix 310 with another bios version (#10661)
imayoda [Wed, 7 Nov 2018 03:59:24 +0000 (04:59 +0100)] 
hwdb: IdeaPad Miix 310 with another bios version (#10661)

another bios version for same model with portrait screen.

5 years agoMerge pull request #10644 from mrc0mmand/travis-fix
Evgeny Vereshchagin [Wed, 7 Nov 2018 02:11:02 +0000 (05:11 +0300)] 
Merge pull request #10644 from mrc0mmand/travis-fix

Fix & re-enable Travis CI

5 years agotravis: overwrite test-capability with a simple script that is just skipped 10644/head
Evgeny Vereshchagin [Wed, 7 Nov 2018 01:25:52 +0000 (02:25 +0100)] 
travis: overwrite test-capability with a simple script that is just skipped

so that it will be possible to work on the test failure and try to make
Travis CI work at the same time.

5 years agoMerge pull request #10640 from evverx/networkd-fuzzers
Yu Watanabe [Tue, 6 Nov 2018 23:50:25 +0000 (08:50 +0900)] 
Merge pull request #10640 from evverx/networkd-fuzzers

Add a couple of fuzzers for network_load_one and netdev_load_one

5 years agotravis: workaround for dnf upgrade
Frantisek Sumsal [Tue, 6 Nov 2018 19:55:07 +0000 (20:55 +0100)] 
travis: workaround for dnf upgrade

dnf upgrade on Fedora Rawhide pulls in unwanted selinux-policy
packages which breaks the system in several ways (and usually
ends up with crashed systemd)

5 years agooss-fuzz.sh: copy dictionaries along with "options" files 10640/head
Evgeny Vereshchagin [Tue, 6 Nov 2018 18:51:45 +0000 (19:51 +0100)] 
oss-fuzz.sh: copy dictionaries along with "options" files

We currently don't have any upstream but it doesn't mean that
it should be impossible to experiment with local ones :-)

5 years agotests: add a couple of files containing all the sections and directives
Evgeny Vereshchagin [Tue, 6 Nov 2018 18:42:29 +0000 (19:42 +0100)] 
tests: add a couple of files containing all the sections and directives

This should help the fuzzers to discover code paths faster.

In case anyone is interested, they were generated with the following script
```
perl -aF'/[\s,]+/' -ne '
if (my ($s, $d) = ($F[0] =~ /^([^\s\.]+)\.([^\s\.]+)$/)) { $d{$s}{$d} = 1; }
END { while (my ($key, $value) = each %d) {
    printf "[%s]\n%s\n", $key, join("\n", keys(%$value))
}}'
```
by passing src/network/networkd-network-gperf.gperf and
src/network/netdev/netdev-gperf.gperf to it.

5 years agotests: replace AdActorSysPrio with AdActorSystemPriority
Evgeny Vereshchagin [Tue, 6 Nov 2018 18:36:40 +0000 (19:36 +0100)] 
tests: replace AdActorSysPrio with AdActorSystemPriority

This is a follow-up to https://github.com/systemd/systemd/pull/10653.

5 years agotests: add a reporoducer for https://github.com/systemd/systemd/issues/10639
Evgeny Vereshchagin [Sun, 4 Nov 2018 23:39:47 +0000 (00:39 +0100)] 
tests: add a reporoducer for https://github.com/systemd/systemd/issues/10639

5 years agotests: add some data that can be fed to fuzz-network-parser
Evgeny Vereshchagin [Sun, 4 Nov 2018 22:04:43 +0000 (23:04 +0100)] 
tests: add some data that can be fed to fuzz-network-parser

5 years agotests: add a reproducer for https://github.com/systemd/systemd/issues/10629
Evgeny Vereshchagin [Sun, 4 Nov 2018 22:01:46 +0000 (23:01 +0100)] 
tests: add a reproducer for https://github.com/systemd/systemd/issues/10629

5 years agonetworkd: make network_load_one "public" and add a fuzzer for it
Evgeny Vereshchagin [Sun, 4 Nov 2018 21:27:07 +0000 (22:27 +0100)] 
networkd: make network_load_one "public" and add a fuzzer for it

5 years agonetworkd: make netdev_load_one "public" and add a fuzzer for it
Evgeny Vereshchagin [Sun, 4 Nov 2018 21:06:03 +0000 (22:06 +0100)] 
networkd: make netdev_load_one "public" and add a fuzzer for it

5 years agonetworkd: remove a weird assertion from network_load_one
Evgeny Vereshchagin [Sun, 4 Nov 2018 20:49:09 +0000 (21:49 +0100)] 
networkd: remove a weird assertion from network_load_one

The assertion was added in dbffab87f1504abc9f but I'm not exactly sure
why. Now it just crashes a fuzzer I wrote. I, of course, could fix the fuzzer
so that it would generate names ending in ".network" if anyone would tell
me why the assertion should be kept here.

5 years agoutil: initialize _argtypes in VA_FORMAT_ADVANCE when systemd is built with MSan
Evgeny Vereshchagin [Sun, 4 Nov 2018 20:43:08 +0000 (21:43 +0100)] 
util: initialize _argtypes in VA_FORMAT_ADVANCE when systemd is built with MSan

This gets around https://github.com/google/sanitizers/issues/992.

5 years agoMerge pull request #10654 from poettering/srand-rdrand
Yu Watanabe [Tue, 6 Nov 2018 17:03:09 +0000 (02:03 +0900)] 
Merge pull request #10654 from poettering/srand-rdrand

random-util.c mini-fixes

5 years agologin: Don't mark framebuffer devices as master-of-seat devices
Marco Trevisan (Treviño) [Thu, 1 Nov 2018 02:04:50 +0000 (03:04 +0100)] 
login: Don't mark framebuffer devices as master-of-seat devices

Currently we consider any framebuffer device as enough to have a
valid graphical session, but this might lead to many false postives
like in the case of framebuffer devices that have a linked drm card
which is still in the process of being added, or for vesa fb, and
so it doesn't ensure us that we can have a proper graphical session.

Since these days we normally don't consider anything without a DRM
card able to provide a full graphical session, let's not set this
at this level.
Drivers which can provide a graphical session with the sole fb are
still free to mark any device as `master-of-seat`

Fixes #10435

5 years agoMerge pull request #10658 from yuwata/udevd-worker-performance
Lennart Poettering [Tue, 6 Nov 2018 17:01:37 +0000 (20:01 +0300)] 
Merge pull request #10658 from yuwata/udevd-worker-performance

udev: improve performance

5 years agoMerge pull request #10602 from yuwata/sd-device-logs
Lennart Poettering [Tue, 6 Nov 2018 16:33:51 +0000 (19:33 +0300)] 
Merge pull request #10602 from yuwata/sd-device-logs

update log messages

5 years agoMerge pull request #10633 from yuwata/sd-resolve-destroy
Lennart Poettering [Tue, 6 Nov 2018 16:30:59 +0000 (19:30 +0300)] 
Merge pull request #10633 from yuwata/sd-resolve-destroy

Another solution to fix wireguard issues

5 years agotime-util: make parse_sec() not accept "12.34.56"
Yu Watanabe [Tue, 6 Nov 2018 03:36:54 +0000 (12:36 +0900)] 
time-util: make parse_sec() not accept "12.34.56"

This also changes the rational number treatment.
So, the limitations introduced by 8079c90333422bbc008b68a9b7cefbdb8a15a4e9
and f6a178e91dd5fccf43f659eca887788fd5dcdccf are relaxed.

Fixes #10619.

5 years agotravis: drop the unnecessary /etc/machine-id magic
Frantisek Sumsal [Tue, 6 Nov 2018 16:16:45 +0000 (17:16 +0100)] 
travis: drop the unnecessary /etc/machine-id magic

5 years agotravis: run Coverity on a more stable Fedora release
Frantisek Sumsal [Tue, 6 Nov 2018 14:59:34 +0000 (15:59 +0100)] 
travis: run Coverity on a more stable Fedora release

5 years agoudevd: increase default number of workers 10658/head
Yu Watanabe [Thu, 1 Nov 2018 07:54:10 +0000 (16:54 +0900)] 
udevd: increase default number of workers

The uevent handling in udevd is not cpu hungry.
So, let's increase the default number of workers per cpu.
This decrease the number of queued uevents.

Without this commit (children_max is 16 on my laptop)
```
$ journalctl -b -u systemd-udevd.service | grep reached | wc -l
1544
```
With this commit (children_max is 30 on my laptop)
```
$ journalctl -b -u systemd-udevd.service | grep reached | wc -l
7
```

5 years agoudevd: wait 3 seconds before killing worker processes
Yu Watanabe [Thu, 1 Nov 2018 01:37:51 +0000 (10:37 +0900)] 
udevd: wait 3 seconds before killing worker processes

During boot process, many worker processes are forked and killed.
To decrease cycles of forking and killing worker, let's wait
3 seconds before killing workers. If new uevent or inotify event
comes within the delay, the killing porcess will be cancelled.

5 years agotravis: move Docker setup to a separate script
Frantisek Sumsal [Tue, 6 Nov 2018 08:04:10 +0000 (09:04 +0100)] 
travis: move Docker setup to a separate script

This should make debugging somewhat easier

5 years agoudevd: drop redundant logic of receiving uevent
Yu Watanabe [Tue, 6 Nov 2018 08:46:00 +0000 (17:46 +0900)] 
udevd: drop redundant logic of receiving uevent

If there exists pending uevents, then sd-event invokes uevent handler.
So, it is not necessary to receive the next uevent in inotify event.

5 years agoudevd: decrease indentation
Yu Watanabe [Tue, 6 Nov 2018 06:58:41 +0000 (15:58 +0900)] 
udevd: decrease indentation

5 years agoMerge pull request #10597 from toanju/fix-networkd-l3-loss
Lennart Poettering [Tue, 6 Nov 2018 14:44:24 +0000 (17:44 +0300)] 
Merge pull request #10597 from toanju/fix-networkd-l3-loss

networkd: don't remove ip address or route

5 years agoudevd: merge conditions to decrease indentation
Yu Watanabe [Tue, 6 Nov 2018 06:55:09 +0000 (15:55 +0900)] 
udevd: merge conditions to decrease indentation

5 years agoMerge pull request #10650 from yuwata/udevadm-trigger-use-write-string-file
Lennart Poettering [Tue, 6 Nov 2018 13:46:25 +0000 (16:46 +0300)] 
Merge pull request #10650 from yuwata/udevadm-trigger-use-write-string-file

udevadm: use write_string_file() helper function

5 years agonetworkd: cleanup for #10542
Tobias Jungel [Tue, 6 Nov 2018 08:55:35 +0000 (09:55 +0100)] 
networkd: cleanup for #10542

fixes: 53b1f7d

5 years agoMerge pull request #10652 from yuwata/lldp-ndisc-string-table
Lennart Poettering [Tue, 6 Nov 2018 13:41:48 +0000 (16:41 +0300)] 
Merge pull request #10652 from yuwata/lldp-ndisc-string-table

lldp,ndisc: update debug logs

5 years agocore, sysctl: skip ENOENT for /proc/sys/net/unix/max_dgram_qlen
Giuseppe Scrivano [Mon, 5 Nov 2018 22:06:14 +0000 (23:06 +0100)] 
core, sysctl: skip ENOENT for /proc/sys/net/unix/max_dgram_qlen

sysctl is disabled for /proc mounted from an user namespace thus entries like
/proc/sys/net/unix/max_dgram_qlen do not exist.  In this case, skip the error
and do not try to change the default for the AF_UNIX datagram queue length.

5 years agoask-password: fix minor memory leak on error path
Lennart Poettering [Tue, 6 Nov 2018 11:34:01 +0000 (12:34 +0100)] 
ask-password: fix minor memory leak on error path

CID 1396557

5 years agonetworkd: don't remove route 10597/head
Tobias Jungel [Tue, 6 Nov 2018 12:28:12 +0000 (13:28 +0100)] 
networkd: don't remove route

In case networkd is restarted this prevents a removal of an already existing
route that would be configured using networkd. With the proposed changes the
route will be kept on the interface without removing. This happens only on
physical hosts or VMs since networkd handles interface configuration slightly
different in containers.