Joan Bruguera [Mon, 31 Jan 2022 20:28:21 +0000 (21:28 +0100)]
resolved: Make event flags logic robust for DoT
Since when handling a DNS over TLS stream, the TLS library can override the
requested events through dnstls_events for handshake/shutdown purposes,
obtaining the event flags through sd_event_source_get_io_events and checking
for EPOLLIN or EPOLLOUT does not really tell us whether we want to read/write
a packet. Instead, it could just be OpenSSL/GnuTLS doing something else.
To make the logic more robust (and simpler), save the flags that tell us
whether we want to read/write a packet, and check them instead of the IO flags.
(& use uint32_t for the flags like in sd_event_source_set_io_events prototype)
Lennart Poettering [Tue, 1 Feb 2022 16:37:08 +0000 (17:37 +0100)]
NEWS: minor formatting tweaks
Luca Boccassi [Tue, 1 Feb 2022 16:34:00 +0000 (16:34 +0000)]
Merge pull request #22341 from poettering/pam-end-fix
pid1: pam_end() PAM_DATA_SILENT fix
Lennart Poettering [Tue, 1 Feb 2022 11:06:21 +0000 (12:06 +0100)]
util: another set of CVE-2021-4034 assert()s
It's a good idea that we validate argc/argv when we are supposed to
store them away.
Luca Boccassi [Tue, 1 Feb 2022 13:25:38 +0000 (13:25 +0000)]
Merge pull request #22331 from yuwata/network-xfrm-interface-id
network: xfrm: refuse zero interface ID
Lennart Poettering [Tue, 1 Feb 2022 12:50:28 +0000 (13:50 +0100)]
execute: document that the 'env' param is input *and* output
Lennart Poettering [Tue, 1 Feb 2022 12:50:13 +0000 (13:50 +0100)]
execute: line break comments a bit less aggressively
Lennart Poettering [Tue, 1 Feb 2022 12:49:56 +0000 (13:49 +0100)]
execute: use _cleanup_ logic where appropriate
Lennart Poettering [Tue, 1 Feb 2022 11:37:51 +0000 (12:37 +0100)]
pid1: pass PAM_DATA_SILENT to pam_end() in child
Fixes: #22318
Yu Watanabe [Tue, 1 Feb 2022 07:39:43 +0000 (16:39 +0900)]
network: dhcp-server: also refuse link local address to use as the server address
Yu Watanabe [Tue, 1 Feb 2022 05:10:11 +0000 (14:10 +0900)]
Merge pull request #22254 from yuwata/dhcp-server-fix-segfault
sd-dhcp-server: remove lease with hashmap_remove_value()
Yu Watanabe [Tue, 1 Feb 2022 05:09:32 +0000 (14:09 +0900)]
Merge pull request #22319 from yuwata/network-use-reconfigure
network: also use link_reconfigure_impl() to initially assign .network file
Yu Watanabe [Tue, 1 Feb 2022 04:26:40 +0000 (13:26 +0900)]
test-network: set xfrm interface ID
This also unifies two tests for xfrm, and checks the output of
'ip link' command.
Fixes #22329.
Yu Watanabe [Tue, 1 Feb 2022 04:00:51 +0000 (13:00 +0900)]
network: xfrm: refuse zero interface ID
Since kernel 5.17-rc1, 5.16.3, and 5.15.17 (more specifically,
https://github.com/torvalds/linux/commit/
8dce43919566f06e865f7e8949f5c10d8c2493f5)
the kernel refuses to create an xfrm interface with zero ID.
James Hilliard [Tue, 1 Feb 2022 01:20:53 +0000 (18:20 -0700)]
meson: use full argument names for bpftool gen commands
This should be a purely cosmetic change.
Yu Watanabe [Fri, 28 Jan 2022 01:12:00 +0000 (10:12 +0900)]
fuzz-dhcp-server: add static leases
Yu Watanabe [Thu, 27 Jan 2022 18:07:28 +0000 (03:07 +0900)]
test-dhcp-server: add tests for static lease
Yu Watanabe [Thu, 27 Jan 2022 07:04:20 +0000 (16:04 +0900)]
test-dhcp-server: add tests for setting static DHCP lease
Yu Watanabe [Thu, 27 Jan 2022 06:40:40 +0000 (15:40 +0900)]
test-dhcp-server: add usual headers
Yu Watanabe [Thu, 27 Jan 2022 07:07:48 +0000 (16:07 +0900)]
test-dhcp-server: run a test earlier which does not require privilege
Yu Watanabe [Thu, 27 Jan 2022 07:11:02 +0000 (16:11 +0900)]
test-dhcp-server: move sd-event allocation
Yu Watanabe [Thu, 27 Jan 2022 07:06:13 +0000 (16:06 +0900)]
test-dhcp-server: use log_tests_skipped_errno()
Yu Watanabe [Thu, 27 Jan 2022 17:44:10 +0000 (02:44 +0900)]
sd-dhcp-server: split out logic to ACK request
Yu Watanabe [Thu, 27 Jan 2022 17:25:37 +0000 (02:25 +0900)]
sd-dhcp-server: do not assign address reserved for static leases to non-matching clients
This fix the root cause of the issue #22253.
Yu Watanabe [Thu, 27 Jan 2022 18:50:57 +0000 (03:50 +0900)]
sd-dhcp-server: explicitly refuse when conflicting address is requested
Yu Watanabe [Thu, 27 Jan 2022 18:50:16 +0000 (03:50 +0900)]
sd-dhcp-server: do not assign an address from pool when a static lease for the client ID exists
Yu Watanabe [Thu, 27 Jan 2022 17:10:23 +0000 (02:10 +0900)]
sd-dhcp-server: rename get_pool_offset() -> address_is_in_pool()
As, the value of pool_offset is not used.
Yu Watanabe [Thu, 27 Jan 2022 17:14:47 +0000 (02:14 +0900)]
sd-dhcp-server: rename server_send_nak() -> server_send_nak_or_ignore()
And logs error in the function.
Yu Watanabe [Wed, 26 Jan 2022 15:17:23 +0000 (00:17 +0900)]
sd-dhcp-server: set DHCPLease::server before hashmap_put()
Otherwise, if the second push is failed, then the first hashmap contains
dirty entry.
Also, this makes hashmap_remove_value() used when removing leases to
make not wrong lease is removed from the hashmap.
Note, this just hide the root cause of the issue #22253, which will be
fixed in later commit.
Fixes #22253.
Yu Watanabe [Thu, 27 Jan 2022 16:24:35 +0000 (01:24 +0900)]
sd-dhcp-server: fix indentation
Yu Watanabe [Thu, 27 Jan 2022 16:24:20 +0000 (01:24 +0900)]
sd-dhcp-server: rename argument and add one missing assertion
Yu Watanabe [Thu, 27 Jan 2022 16:23:39 +0000 (01:23 +0900)]
sd-dhcp-server: do not use implicit cast to boolean from integer
Yu Watanabe [Thu, 27 Jan 2022 16:05:52 +0000 (01:05 +0900)]
sd-dhcp-server: refuse zero length client ID
Yu Watanabe [Thu, 27 Jan 2022 07:19:10 +0000 (16:19 +0900)]
sd-dhcp-server: do not log "STOPPED" when already stopped
Yu Watanabe [Mon, 31 Jan 2022 07:32:05 +0000 (16:32 +0900)]
network: also use link_reconfigure_impl() to initially assign .network file
Yu Watanabe [Tue, 1 Feb 2022 02:37:45 +0000 (11:37 +0900)]
network: drop tiny wrapper used only one place anymore
Yu Watanabe [Mon, 31 Jan 2022 13:30:39 +0000 (22:30 +0900)]
network: do not free bound_by carrier map on reconfigure
Otherwise, if a link enters unmanaged state, then its carrier state does
not propagated to other interfaces.
Yu Watanabe [Mon, 31 Jan 2022 10:26:51 +0000 (19:26 +0900)]
network: do not remove localhost address
Managing loopback interfaces by networkd is not recommended, but supporeted.
Even such spurious situation, do not drop the localhost addresses.
Yu Watanabe [Mon, 31 Jan 2022 10:09:30 +0000 (19:09 +0900)]
network: move ndisc_flush() to link_stop_engines()
As it is not related to any static configs.
Yu Watanabe [Mon, 31 Jan 2022 10:08:27 +0000 (19:08 +0900)]
network: remove only managed configs on reconfigure or carrier lost
Otherwise, if the carrir of the non-managed interface is lost, the
configs such as addresses or routes on the interface will be removed by
networkd.
Luca Boccassi [Mon, 31 Jan 2022 23:09:46 +0000 (23:09 +0000)]
Merge pull request #22175 from keszybz/kernel-install-mkosi-initrd
kernel-install: add support for KERNEL_INSTALL_INITRD_GENERATOR and KERNEL_INSTALL_STAGING_AREA
Frantisek Sumsal [Mon, 31 Jan 2022 21:17:48 +0000 (22:17 +0100)]
network: s/confiured/configured/
A quick typo fix I noticed whilst debugging.
Lennart Poettering [Mon, 31 Jan 2022 16:58:18 +0000 (17:58 +0100)]
tree-wide: some additional checks to avoid CVE-2021-4034 style weaknesses
Lennart Poettering [Mon, 31 Jan 2022 16:58:42 +0000 (17:58 +0100)]
random-seed: add missing %m in error message
Frantisek Sumsal [Mon, 31 Jan 2022 19:04:02 +0000 (19:04 +0000)]
Merge pull request #22323 from mrc0mmand/fix-TEST-69-on-C8S
test: use ~/.bashrc instead of /etc/bash.bashrc
Lennart Poettering [Mon, 31 Jan 2022 16:58:25 +0000 (17:58 +0100)]
update TODO
Frantisek Sumsal [Mon, 31 Jan 2022 13:19:09 +0000 (14:19 +0100)]
test: copy portable profiles into the image if they don't exist there
If we're built with `-Dportable=false`, the portable profiles won't get
installed into the image. Since we need only the profile files and
nothing else, let's copy them into the image explicitly in such case.
Frantisek Sumsal [Mon, 31 Jan 2022 16:11:06 +0000 (17:11 +0100)]
test: use ~/.bashrc instead of /etc/bash.bashrc
/etc/bash.bashrc appears to be Debian-specific[0] (or specific to bash
versions compiled with -DSYS_BASHRC), which doesn't seem to be the case
for C8S. Let's use ~/.bashrc instead to make the CIs happy again.
[0] https://sources.debian.org/src/bash/5.1-6/debian/README/#L50-L56
Frantisek Sumsal [Mon, 31 Jan 2022 15:48:15 +0000 (16:48 +0100)]
test: make the code less error-prone
Luca Boccassi [Mon, 31 Jan 2022 14:21:28 +0000 (14:21 +0000)]
Merge pull request #22316 from yuwata/network-mac-address-length
network: several cleanups related to MAC address length
Luca Boccassi [Mon, 31 Jan 2022 14:03:00 +0000 (14:03 +0000)]
Merge pull request #22300 from yuwata/bus-fix-error-handling
tree-wide: fix bus method error handling
Daan De Meyer [Fri, 28 Jan 2022 15:40:09 +0000 (15:40 +0000)]
boot: Don't require a machine ID to be available
Regression introduced in https://github.com/systemd/systemd/pull/21807.
Fixes #22224
Luca Boccassi [Mon, 31 Jan 2022 13:56:04 +0000 (13:56 +0000)]
Merge pull request #22274 from yuwata/resolve-comment
resolve: cleanups for on_stream_io()
Luca Boccassi [Fri, 28 Jan 2022 22:56:10 +0000 (22:56 +0000)]
core: don't fail on EEXIST when creating mount point
systemd[1016]: Failed to mount /tmp/app1 (type n/a) on /run/systemd/unit-extensions/1 (MS_BIND ): No such file or directory
systemd[1016]: Failed to create destination mount point node '/run/systemd/unit-extensions/1': File exists
Frantisek Sumsal [Sun, 30 Jan 2022 14:49:27 +0000 (15:49 +0100)]
core: check argc/argv uncoditionally
as `assert()` might be dropped with `-DNDEBUG`.
Follow-up to
cf3095a and
1637e75.
Yu Watanabe [Mon, 31 Jan 2022 10:45:33 +0000 (19:45 +0900)]
Merge pull request #21838 from lnussel/logind-refactor
Logind shutdown refactor
James Hilliard [Mon, 31 Jan 2022 04:47:38 +0000 (21:47 -0700)]
meson: use bpftool based strip when available
This should be useable in bpftool v5.13 or newer based on:
https://github.com/torvalds/linux/commit/
d80b2fcbe0a023619e0fc73112f2a02c2662f6ab
James Hilliard [Mon, 31 Jan 2022 02:33:55 +0000 (19:33 -0700)]
meson: set minimum clang/llvm versions for bpf support
The minimum clang/llvm-strip version needed for building libbpf based
programs is 10.0.0, this is documented here:
https://github.com/libbpf/libbpf/tree/v0.6.1#bpf-co-re-compile-once--run-everywhere
Using an older version such as 9.0.0 will generate objects that
bpftool will not be able to generate skeletons for.
Yu Watanabe [Mon, 31 Jan 2022 04:07:34 +0000 (13:07 +0900)]
network: currently IPv4ACD requires MAC address whose length is ETH_ALEN
Yu Watanabe [Mon, 31 Jan 2022 04:02:57 +0000 (13:02 +0900)]
network: currently RADV requires MAC address whose length is ETH_ALEN
Yu Watanabe [Mon, 31 Jan 2022 03:54:21 +0000 (12:54 +0900)]
network: disable NDisc for CAN interfaces
We already disabled DHCP clients for CAN interfaces.
Yu Watanabe [Mon, 31 Jan 2022 03:35:44 +0000 (12:35 +0900)]
network: configure NDisc after MAC address is assigned
Yu Watanabe [Mon, 31 Jan 2022 03:08:24 +0000 (12:08 +0900)]
network: configure DHCP clients after MAC address is assigned
Prompted by #20090.
Frantisek Sumsal [Sun, 30 Jan 2022 22:40:05 +0000 (23:40 +0100)]
basic: update CIFS magic
Kernel commit
dea2903719283c156b53741126228c4a1b40440f exposed (and
renamed) CIFS_MAGIC_NUMBER as CIFS_SUPER_MAGIC along with
SMB2_SUPER_MAGIC.
This fixes the following build fail on current Fedora Rawhide:
```
../src/basic/meson.build:389:8: ERROR: Problem encountered: found unknown filesystem(s) defined in kernel headers:
Filesystem found in kernel header but not in filesystems-gperf.gperf: CIFS_SUPER_MAGIC
Filesystem found in kernel header but not in filesystems-gperf.gperf: SMB2_SUPER_MAGIC
```
Dorian Clay [Sun, 30 Jan 2022 19:50:09 +0000 (11:50 -0800)]
hwdb: add support for Surface Laptop 2 & 3 (#22303)
Davide Cavalca [Sun, 30 Jan 2022 17:28:52 +0000 (09:28 -0800)]
hwdb: add new database file for PDA devices
Add a new database for handhelds (PDAs, calculators, etc.) that should be
accessible the seat owner.
The database is initially populated with Texas Instruments calculators
and linking cables, which removes the need to installing dedicated udev
rules for them.
Donald Chan [Fri, 28 Jan 2022 22:53:46 +0000 (22:53 +0000)]
basic: mac_[selinux,smack]_apply_fd does not work when applying labels
Commit
a7fdc6c introduced a regression where file descriptors are opened
using O_PATH option. mac_smack_apply_fd() calls fsetxattr() and would fail
with a -EBADF (Bad file descriptor) error.
Use FORMAT_PROC_FD_PATH(fd) to convert the fd back into a full path and
call setxattr() or setfilecon() instead.
Signed-off-by: Donald Chan <hoiho@amazon.com>
Daan De Meyer [Fri, 28 Jan 2022 16:18:49 +0000 (16:18 +0000)]
shared: Handle filesystems that don't support hole punching in COPY_HOLES
Yu Watanabe [Sun, 30 Jan 2022 19:41:07 +0000 (04:41 +0900)]
Merge pull request #22294 from evverx/fuzz-dhcp-client
tests: fuzz client_handle_offer
Frantisek Sumsal [Sun, 30 Jan 2022 18:35:28 +0000 (18:35 +0000)]
Merge pull request #22302 from evverx/merge-oss-fuzz-corpora
ci: merge seed corpora with public OSS-Fuzz corpora on CFLite
Yu Watanabe [Sun, 30 Jan 2022 08:54:55 +0000 (17:54 +0900)]
core: check if argc > 0 and argv[0] is set
Follow-up for
1637e757070a61b12b26a2a4ef547330562dc77f.
Evgeny Vereshchagin [Sun, 30 Jan 2022 09:18:53 +0000 (09:18 +0000)]
ci: no longer upload the latest builds on commits
The idea behind this action is to make it possible to compare the
latest fuzz targets with PRs to figure out whether bugs are really
reproducible in PRs only. Since forks (including systemd-stable) are
usually based on the upstream repository where almost all the bugs
are fixed before releases are cut it should be safe to assume that
if CFLite finds bugs in PRs they are most likely introduced in those
PRs.
It should probably be brought back once https://github.com/google/clusterfuzzlite/issues/84
is fixed.
Evgeny Vereshchagin [Sat, 29 Jan 2022 21:36:41 +0000 (21:36 +0000)]
ci: merge seed corpora with public OSS-Fuzz corpora on CFLite
to let it cover as much code as possible. It should help to catch
most regressions in a few minutes.
Frantisek Sumsal [Fri, 28 Jan 2022 20:44:32 +0000 (21:44 +0100)]
shared: be extra paranoid and check if argc > 0
and also if argv[0] is non-empty as a precaution for issues similar to
CVE-2021-4034.
Yu Watanabe [Sun, 30 Jan 2022 00:34:44 +0000 (09:34 +0900)]
Merge pull request #22301 from mrc0mmand/cocci-tweaks
fstab-generator: use str(n)dupa_safe() instead of plain str(n)dupa()
Frantisek Sumsal [Sat, 29 Jan 2022 21:36:29 +0000 (22:36 +0100)]
test: make use of strv_isempty()
Frantisek Sumsal [Sat, 29 Jan 2022 21:34:02 +0000 (22:34 +0100)]
fstab-generator: use str(n)dupa_safe() instead of plain str(n)dupa()
Yu Watanabe [Sat, 29 Jan 2022 20:38:35 +0000 (05:38 +0900)]
login: use bus_error_message() at one more place
Yu Watanabe [Sat, 29 Jan 2022 20:38:01 +0000 (05:38 +0900)]
core/unit: use bus_error_message() at one more place
Yu Watanabe [Sat, 29 Jan 2022 20:36:56 +0000 (05:36 +0900)]
bus-util: retrieve bus error from message
The error in argument is not input, but used for output.
Evgeny Vereshchagin [Sat, 29 Jan 2022 18:16:16 +0000 (18:16 +0000)]
ci: update GHActions once a month
Apparently some actions like CodeQL are released a few times a week so let's
just update them once a month in one fell swoop.
Evgeny Vereshchagin [Sat, 29 Jan 2022 15:22:43 +0000 (15:22 +0000)]
ci: use CFLite to test forks (including systemd-stable)
It's like CIFuzz but unlike CIFuzz it's compatible with forks and
it should make it possible to run the fuzzers to make sure that
patches backported to them are backported correctly without introducing
new bugs and regressions.
Evgeny Vereshchagin [Sat, 29 Jan 2022 03:16:40 +0000 (03:16 +0000)]
sd-dhcp-lease: fix a memory leak in dhcp_lease_parse_search_domains
=================================================================
==81071==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x51245c in __interceptor_reallocarray (/home/vagrant/systemd/build/fuzz-dhcp-client+0x51245c)
#1 0x7f01440c67e6 in strv_push /home/vagrant/systemd/build/../src/basic/strv.c:435:13
#2 0x7f01440ca9e1 in strv_consume /home/vagrant/systemd/build/../src/basic/strv.c:506:13
#3 0x7f01440ca9e1 in strv_extend /home/vagrant/systemd/build/../src/basic/strv.c:558:16
#4 0x5806e3 in dhcp_lease_parse_search_domains /home/vagrant/systemd/build/../src/libsystemd-network/sd-dhcp-lease.c:900:21
#5 0x57c1be in dhcp_lease_parse_options /home/vagrant/systemd/build/../src/libsystemd-network/sd-dhcp-lease.c:727:21
#6 0x572450 in parse_options /home/vagrant/systemd/build/../src/libsystemd-network/dhcp-option.c:348:33
#7 0x571c6a in dhcp_option_parse /home/vagrant/systemd/build/../src/libsystemd-network/dhcp-option.c:376:13
#8 0x559a01 in client_handle_offer /home/vagrant/systemd/build/../src/libsystemd-network/sd-dhcp-client.c:1543:13
#9 0x5592bd in LLVMFuzzerTestOneInput /home/vagrant/systemd/build/../src/libsystemd-network/fuzz-dhcp-client.c:74:16
#10 0x44a379 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/vagrant/systemd/build/fuzz-dhcp-client+0x44a379)
#11 0x42ae1f in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) (/home/vagrant/systemd/build/fuzz-dhcp-client+0x42ae1f)
#12 0x432ade in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/vagrant/systemd/build/fuzz-dhcp-client+0x432ade)
#13 0x421f86 in main (/home/vagrant/systemd/build/fuzz-dhcp-client+0x421f86)
#14 0x7f0142fff55f in __libc_start_call_main (/lib64/libc.so.6+0x2d55f)
Evgeny Vereshchagin [Sat, 29 Jan 2022 03:18:31 +0000 (03:18 +0000)]
tests: add a file triggering a memory leak in dhcp_lease_parse_search_domains
Evgeny Vereshchagin [Sat, 29 Jan 2022 02:08:39 +0000 (02:08 +0000)]
sd-dhcp-lease: fix an infinite loop found by the fuzzer
Evgeny Vereshchagin [Fri, 28 Jan 2022 20:35:38 +0000 (20:35 +0000)]
tests: fuzz client_handle_offer
Turns out that part of systemd isn't covered by any fuzz targets and
that's not ideal considering that it parses data sent remotely. The
fuzzer triggers an infinite loop in lease_parse_routes as soon as it
starts so it seems to be working :-)
```
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed:
23620602
INFO: Loaded 2 modules (182073 inline 8-bit counters): 176548 [0x7fdf511fc8d0, 0x7fdf51227a74), 5525 [0x5f6ef0, 0x5f8485),
INFO: Loaded 2 PC tables (182073 PCs): 176548 [0x7fdf51227a78,0x7fdf514d94b8), 5525 [0x5f8488,0x60ddd8),
./build/fuzz-dhcp-client: Running 1 inputs 1 time(s) each.
Running: test/fuzz/fuzz-dhcp-client/timeout-
ed34161922c7075c4773f2ada3dee8685d220980
ALARM: working on the last Unit for 31 seconds
and the timeout value is 30 (use -timeout=N to change)
==80731== ERROR: libFuzzer: timeout after 31 seconds
#0 0x51b32e in __sanitizer_print_stack_trace (/home/vagrant/systemd/build/fuzz-dhcp-client+0x51b32e)
#1 0x4689e9 in fuzzer::PrintStackTrace() (/home/vagrant/systemd/build/fuzz-dhcp-client+0x4689e9)
#2 0x44a0f4 in fuzzer::Fuzzer::StaticAlarmCallback() (/home/vagrant/systemd/build/fuzz-dhcp-client+0x44a0f4)
#3 0x7fdf4f8b474f (/lib64/libc.so.6+0x4274f)
#4 0x465fee in __sanitizer_cov_trace_const_cmp4 (/home/vagrant/systemd/build/fuzz-dhcp-client+0x465fee)
#5 0x57eee5 in lease_parse_routes /home/vagrant/systemd/build/../src/libsystemd-network/sd-dhcp-lease.c:495:23
#6 0x57baf3 in dhcp_lease_parse_options /home/vagrant/systemd/build/../src/libsystemd-network/sd-dhcp-lease.c:701:21
#7 0x572450 in parse_options /home/vagrant/systemd/build/../src/libsystemd-network/dhcp-option.c:348:33
#8 0x571cea in dhcp_option_parse /home/vagrant/systemd/build/../src/libsystemd-network/dhcp-option.c:381:21
#9 0x559a01 in client_handle_offer /home/vagrant/systemd/build/../src/libsystemd-network/sd-dhcp-client.c:1543:13
#10 0x5592bd in LLVMFuzzerTestOneInput /home/vagrant/systemd/build/../src/libsystemd-network/fuzz-dhcp-client.c:78:9
#11 0x44a379 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/vagrant/systemd/build/fuzz-dhcp-client+0x44a379)
#12 0x42ae1f in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) (/home/vagrant/systemd/build/fuzz-dhcp-client+0x42ae1f)
#13 0x432ade in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/vagrant/systemd/build/fuzz-dhcp-client+0x432ade)
#14 0x421f86 in main (/home/vagrant/systemd/build/fuzz-dhcp-client+0x421f86)
#15 0x7fdf4f89f55f in __libc_start_call_main (/lib64/libc.so.6+0x2d55f)
#16 0x7fdf4f89f60b in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x2d60b)
#17 0x421fd4 in _start (/home/vagrant/systemd/build/fuzz-dhcp-client+0x421fd4)
SUMMARY: libFuzzer: timeout
```
Anita Zhang [Fri, 28 Jan 2022 19:57:59 +0000 (11:57 -0800)]
Merge pull request #22289 from yuwata/network-hashmap-remove-value
network: use hashmap_remove_value() at two more places
Yu Watanabe [Fri, 28 Jan 2022 15:30:22 +0000 (00:30 +0900)]
network: use hashmap_remove_value() at two more places
Zbigniew Jędrzejewski-Szmek [Wed, 19 Jan 2022 13:03:24 +0000 (14:03 +0100)]
kernel-install: add missing log line
Zbigniew Jędrzejewski-Szmek [Wed, 19 Jan 2022 11:20:22 +0000 (12:20 +0100)]
kernel-install: add "$KERNEL_INSTALL_STAGING_AREA" directory
The general approach of kernel-install was that each plugin would drop in some
files into the entry directory. But this doesn't scale well, because if we have
multiple initrd generators, or multiple initrds, each generator would need to
recreate the logic to put the generated files in the right place.
Also, effective cleanup is impossible if anything goes wrong on the way, so we
could end up with unused files in $BOOT.
So let's invert the process: plugins drop files into $KERNEL_INSTALL_STAGING_AREA,
and at the end 90-loaderentry.install DTRT with those files.
This allow new plugins like 50-mkosi-initrd.install to be significantly simpler.
Zbigniew Jędrzejewski-Szmek [Wed, 19 Jan 2022 11:15:16 +0000 (12:15 +0100)]
kernel-install: prefix errors with "Error:", exit immediately
kernel-install would continue after errors… We don't want this, as it
makes the results totally unpredicatable. If we didn't install the kernel
or didn't do some important part of the setup, let's just return an error
and let the user deal with it.
When looking at output, the error was often hard to distinguish, esp.
with -v. Add "Error:" everywhere to make the output easier to parse.
Zbigniew Jędrzejewski-Szmek [Wed, 19 Jan 2022 11:10:37 +0000 (12:10 +0100)]
kernel-install: k-i already creates $ENTRY_DIR_ABS, no need to do it again
Yu Watanabe [Fri, 28 Jan 2022 01:20:31 +0000 (10:20 +0900)]
test: add missing oom check
Fixes CID#
1469129.
Daan De Meyer [Fri, 28 Jan 2022 12:55:16 +0000 (12:55 +0000)]
Merge pull request #22283 from yuwata/sd-device-suppress-log
sd-device: suppress log
Yu Watanabe [Fri, 28 Jan 2022 06:30:01 +0000 (15:30 +0900)]
unit: introduce wait-online@.service for specific interface
This should be useful when a host has multiple interfaces.
Inspired by #22246.
Frantisek Sumsal [Fri, 28 Jan 2022 12:37:12 +0000 (12:37 +0000)]
Merge pull request #22282 from yuwata/test-revert-workaronds
test: revert workaronds
Yu Watanabe [Fri, 28 Jan 2022 02:53:49 +0000 (11:53 +0900)]
sd-dhcp-server: refuse too large packet to send
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44134.
Ryan Hendrickson [Thu, 27 Jan 2022 23:06:14 +0000 (18:06 -0500)]
hwdb: add two Elecom trackballs
Yu Watanabe [Fri, 28 Jan 2022 01:40:30 +0000 (10:40 +0900)]
network: fix log messages
Yu Watanabe [Fri, 28 Jan 2022 02:08:43 +0000 (11:08 +0900)]
test: frequency in mouse DPI is optional
Prompted by #22278.