Lennart Poettering [Thu, 9 Sep 2021 14:04:00 +0000 (16:04 +0200)]
dissect-image: add env var for disabling "sidecar" loading of verity params
Just to make debugging easier.
Lennart Poettering [Thu, 9 Sep 2021 11:46:01 +0000 (13:46 +0200)]
dissect-image: load embedded verity signature info from image
This adds support for actually using embedded signature data from
partitions.
Lennart Poettering [Thu, 9 Sep 2021 09:43:13 +0000 (11:43 +0200)]
dissect-image: discover verity signature partitions
This doesn't make use of the discovered partitions yet, but it finds
them at least.
Lennart Poettering [Tue, 31 Aug 2021 15:29:34 +0000 (17:29 +0200)]
gpt: add partition type for PKCS#7 signatures for root hashes
Lennart Poettering [Tue, 28 Sep 2021 10:11:53 +0000 (12:11 +0200)]
cryptsetup: handle more gracefully if "keyslots" LUKS2 JSON header field is invalid
The field is not owned by us (even though is in our JSON objects) but by
the LUKS2 spec. Hence let's handle this a bit more gracefully: let's not
get confused by it, just warn and skip over it.
Fixes: #20847
Albert Brox [Tue, 13 Jul 2021 17:38:08 +0000 (13:38 -0400)]
core: implement RuntimeMaxDeltaSec directive
Daan De Meyer [Tue, 28 Sep 2021 10:16:43 +0000 (11:16 +0100)]
mkosi: Remove build script umask workaround
A fix for this landed in meson 3 years ago so the workaround in the
build script can now be removed (https://github.com/mesonbuild/meson/pull/3225).
alexlzhu [Fri, 9 Jul 2021 00:10:47 +0000 (17:10 -0700)]
core: Add ExecSearchPath parameter to specify the directory relative to which binaries executed by Exec*= should be found
Currently there does not exist a way to specify a path relative to which
all binaries executed by Exec should be found. The only way is to
specify the absolute path.
This change implements the functionality to specify a path relative to which
binaries executed by Exec*= can be found.
Closes #6308
Zbigniew Jędrzejewski-Szmek [Tue, 28 Sep 2021 11:45:59 +0000 (13:45 +0200)]
Merge pull request #20837 from bluca/coveralls
CI: add code coverage reports via lcov and coveralls.io
Yu Watanabe [Tue, 28 Sep 2021 11:22:21 +0000 (20:22 +0900)]
Merge pull request #20861 from yuwata/sd-lldp-rx-cleanups
sd-lldp-rx: several trivial cleanups
Yu Watanabe [Tue, 28 Sep 2021 06:51:59 +0000 (15:51 +0900)]
sd-lldp-rx: make lldp_rx_free() and lldp_neighbor_free() accept NULL
Yu Watanabe [Tue, 28 Sep 2021 06:41:19 +0000 (15:41 +0900)]
sd-lldp-rx: sd_event should be attached when lldp_rx_start_timer() is called
Yu Watanabe [Tue, 28 Sep 2021 06:38:50 +0000 (15:38 +0900)]
sd-lldp-rx: do not enable timer event source in sd_lldp_rx_get_neighbors()
It must be just a simple getter.
Yu Watanabe [Tue, 28 Sep 2021 06:30:52 +0000 (15:30 +0900)]
sd-lldp-rx: use _cleanup_ attribute at one more place
Yu Watanabe [Tue, 28 Sep 2021 06:29:27 +0000 (15:29 +0900)]
sd-lldp-rx: wrap long line
Yu Watanabe [Tue, 28 Sep 2021 06:29:07 +0000 (15:29 +0900)]
sd-lldp-rx: add missing assertions
Yu Watanabe [Tue, 28 Sep 2021 06:19:39 +0000 (15:19 +0900)]
sd-lldp-rx: delay allocating hashmap and prioq to store neighbors
Yu Watanabe [Tue, 28 Sep 2021 06:14:50 +0000 (15:14 +0900)]
prioq: introduce prioq_ensure_put()
Yu Watanabe [Tue, 28 Sep 2021 05:55:06 +0000 (14:55 +0900)]
sd-lldp-rx: ensure no event will be triggered after sd_lldp_rx_detach_event() is called
Yu Watanabe [Tue, 28 Sep 2021 06:01:06 +0000 (15:01 +0900)]
sd-lldp-rx: add comments about the three multicast addresses
Yu Watanabe [Tue, 28 Sep 2021 05:51:24 +0000 (14:51 +0900)]
sd-lldp-rx: introduce sd_lldp_rx_is_running()
Yu Watanabe [Tue, 28 Sep 2021 05:44:12 +0000 (14:44 +0900)]
sd-lldp-rx: ignore all errors in processing datagram
Yu Watanabe [Tue, 28 Sep 2021 02:29:34 +0000 (11:29 +0900)]
Merge pull request #20846 from yuwata/sd-lldp-tx
network: move LLDP transmission feature to libsystemd-network
Yu Watanabe [Tue, 28 Sep 2021 02:28:07 +0000 (11:28 +0900)]
Merge pull request #20855 from dannf/update-net-name-schemes
Update net name schemes
Lennart Poettering [Mon, 27 Sep 2021 12:28:16 +0000 (14:28 +0200)]
resolved: suppress writing DNS server info into /etc/resolv.conf for non-standard UDP ports
glibc doesn't support this, hence don#t generate it.
Fixes: #20836
Luca Boccassi [Mon, 27 Sep 2021 13:49:47 +0000 (14:49 +0100)]
parse-util: prefix load average macros with LOAD_AVG_
Follow-up for #20839
dann frazier [Mon, 27 Sep 2021 17:08:37 +0000 (11:08 -0600)]
Remind developers to update the list of net naming schemes that can be selected as a build-time defaults.
dann frazier [Mon, 27 Sep 2021 17:00:53 +0000 (11:00 -0600)]
Add remaining supported schemes as options for default-net-naming-scheme
Yu Watanabe [Sun, 26 Sep 2021 10:13:20 +0000 (19:13 +0900)]
network: use sd-lldp-tx
Yu Watanabe [Sun, 26 Sep 2021 08:07:34 +0000 (17:07 +0900)]
sd-lldp-tx: introduce sd-lldp-tx
Yu Watanabe [Sun, 26 Sep 2021 10:53:00 +0000 (19:53 +0900)]
hostname-util: introduce get_pretty_hostname()
Yu Watanabe [Sun, 26 Sep 2021 11:19:54 +0000 (20:19 +0900)]
sd-lldp: introduce SD_LLDP_OUI_IANA_MUD macro
Yu Watanabe [Mon, 27 Sep 2021 16:32:40 +0000 (01:32 +0900)]
sd-lldp: constify OUI
Yu Watanabe [Sun, 26 Sep 2021 11:03:51 +0000 (20:03 +0900)]
sd-lldp-rx: split out enum definitions
Yu Watanabe [Sun, 26 Sep 2021 03:39:36 +0000 (12:39 +0900)]
sd-lldp-rx: rename sd_lldp -> sd_lldp_rx
Yu Watanabe [Sun, 26 Sep 2021 03:34:41 +0000 (12:34 +0900)]
test: also rename {test,fuzz}-lldp.c
Yu Watanabe [Sun, 26 Sep 2021 02:51:17 +0000 (11:51 +0900)]
sd-lldp: rename sd-lldp.[ch] -> sd-lldp-rx.[ch]
Yu Watanabe [Sun, 26 Sep 2021 02:45:03 +0000 (11:45 +0900)]
meson: sort files
Lennart Poettering [Mon, 27 Sep 2021 11:44:54 +0000 (13:44 +0200)]
Merge pull request #20768 from pdmorrow/shutdown_cgroup_ctrl
cgroups: apply StartupAllowedCPUs= and StartupAllowedMemoryNodes= during shutdown
Luca Boccassi [Mon, 27 Sep 2021 11:24:48 +0000 (12:24 +0100)]
CI: do manpages build only on the clang unit test run
It's slow and unaffected by compiler/flags, so no point in repeating it
Luca Boccassi [Wed, 22 Sep 2021 14:41:22 +0000 (15:41 +0100)]
CI: add code coverage reports via lcov and coveralls.io
Luca Boccassi [Sat, 25 Sep 2021 14:40:39 +0000 (15:40 +0100)]
CI: run unit tests in a network namespace
It seems some of the tests break network connectivity on the host,
as the code coverage upload fails to establish a connection.
Run them in a network namespace with 'unshare -n'.
Luca Boccassi [Fri, 24 Sep 2021 17:38:25 +0000 (18:38 +0100)]
test: double test-hashmap timeout
When coverage flags are used, sometimes it goes just over 90s on a
slow CI machine
Zbigniew Jędrzejewski-Szmek [Mon, 27 Sep 2021 10:09:48 +0000 (12:09 +0200)]
Merge pull request #20849 from keszybz/man-page-tags-and-links
Add license tags to doc pages, fixups and more internal links in man pages
Kay Siver Bø [Sat, 25 Sep 2021 10:37:29 +0000 (12:37 +0200)]
hwbd: 60-sensor.hwdb: Add Lenovo ThinkPad Yoga 11e 5th Gen (Type: 20LN, Gemini Lake)
Zbigniew Jędrzejewski-Szmek [Mon, 27 Sep 2021 07:09:30 +0000 (09:09 +0200)]
man: mention pages with more settings at end of each option list
For some unit types we have hundreds of options, and the reader may easily miss
that more options are described in other pages. We already mentioned this in
the introduction and then at the top of the option list, but it can't hurt to
repeat the information.
Also, add an (almost empty) Options section for the unit types which don't have
any custom options. It is nicer to have the same page structure in all cases,
so people can jump between pages for different types more easily.
Zbigniew Jędrzejewski-Szmek [Mon, 27 Sep 2021 06:43:10 +0000 (08:43 +0200)]
man: refresh description of sysvinit compat for services
The existing text must have been written before systemd-sysv-generator was
created. We don't create the wrappers dynamically since a long time.
Also add more links and make the description conditional on "if compat
is enabled".
Zbigniew Jędrzejewski-Szmek [Fri, 24 Sep 2021 07:12:02 +0000 (09:12 +0200)]
man: minor grammar fixups in systemd-cryptenroll
Zbigniew Jędrzejewski-Szmek [Tue, 14 Sep 2021 14:05:21 +0000 (16:05 +0200)]
docs: add spdx tags to all .md files
I have no idea if this is going to cause rendering problems, and it is fairly
hard to check. So let's just merge this, and if it github markdown processor
doesn't like it, revert.
Zbigniew Jędrzejewski-Szmek [Wed, 8 Sep 2021 13:46:17 +0000 (15:46 +0200)]
man: cross-reference DeviceAllow= and PrivateDevices=
They are somewhat similar, but not easy to discover, esp. considering that
they are described in different pages.
For PrivateDevices=, split out the first paragraph that gives the high-level
overview. (The giant second paragraph could also use some heavy editing to break
it up into more digestible chunks, alas.)
Yu Watanabe [Fri, 24 Sep 2021 15:16:20 +0000 (00:16 +0900)]
meson: refuse implicit int <-> pointer conversion
Before:
```
Compiling C object src/libsystemd-network/libsystemd-network.a.p/dhcp6-option.c.o
../src/libsystemd-network/dhcp6-option.c: In function ‘dhcp6_option_parse_ia’:
../src/libsystemd-network/dhcp6-option.c:633:70: warning: passing argument 3 of ‘dhcp6_option_parse’ makes pointer from integer without a cast [-Wint-conversion]
633 | r = dhcp6_option_parse(option_data, option_data_len, offset, &subopt, &subdata_len, &subdata);
| ^~~~~~
| |
| size_t {aka long unsigned int}
../src/libsystemd-network/dhcp6-option.c:358:25: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘size_t’ {aka ‘long unsigned int’}
358 | size_t *offset,
| ~~~~~~~~^~~~~~
```
After:
```
../src/libsystemd-network/dhcp6-option.c: In function ‘dhcp6_option_parse_ia’:
../src/libsystemd-network/dhcp6-option.c:633:70: error: passing argument 3 of ‘dhcp6_option_parse’ makes pointer from integer without a cast [-Werror=int-conversion]
633 | r = dhcp6_option_parse(option_data, option_data_len, offset, &subopt, &subdata_len, &subdata);
| ^~~~~~
| |
| size_t {aka long unsigned int}
../src/libsystemd-network/dhcp6-option.c:358:25: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘size_t’ {aka ‘long unsigned int’}
358 | size_t *offset,
| ~~~~~~~~^~~~~~
cc1: some warnings being treated as errors
```
Luca Boccassi [Fri, 24 Sep 2021 16:28:27 +0000 (17:28 +0100)]
basic: delete loadavg.h copy
loadavg.h is an internal header of the Linux source repository, and as
such it is licensed as GPLv2-only, without syscall exception.
We use it only for 4 macros, which are simply doing some math calculations
that cannot thus be subject to copyright.
Reimplement the same calculations in another internal header and delete
loadavg.h from our tree.
nl6720 [Fri, 24 Sep 2021 10:22:18 +0000 (13:22 +0300)]
user-record: switch the default LUKS PBKDF to argon2id to match cryptsetup
cryptsetup 2.4.0 changed the default LUKS2 PBKDF to argon2id.
See https://gitlab.com/cryptsetup/cryptsetup/-/commit/
db775417909db0f0b07168d07fdf8813e3ca94fe.
Anssi Hannula [Fri, 24 Sep 2021 12:26:21 +0000 (15:26 +0300)]
man: fix a reference in timedatectl man page
timedatectl(1) says the synchronization service list generation is
described "below", but in reality it is documented in
systemd-timedated.service(8).
Fix the sentence to reference the correct man page.
Peter Morrow [Fri, 17 Sep 2021 10:13:39 +0000 (11:13 +0100)]
man: Startup* updates for systemd.resource-control
All Startup*= directives now also apply to the shutdown phase as well as
boot phase.
Peter Morrow [Thu, 16 Sep 2021 11:33:16 +0000 (12:33 +0100)]
fuzz: list directives in alphabetical order
Peter Morrow [Thu, 16 Sep 2021 11:21:20 +0000 (12:21 +0100)]
cgroup: re-evaluate startup units during shutdown as well
Apply startup cgroup configuration options to the shutdown phase as
well. I.e. all directives prefixed with Startup are applied during
boot and shutdown. For example:
StartupAllowedCPU= applies during boot and shutdown.
AllowedCPUs= applies during normal runtime.
Lennart Poettering [Fri, 24 Sep 2021 12:20:31 +0000 (14:20 +0200)]
Revert "mkosi: turn off qemu headless mode"
This reverts commit
a02c1239cc8064d6dc34279b027a264cfa1ebf07.
(Sorry, I pushed this directly to 'main' by accident)
Lennart Poettering [Fri, 24 Sep 2021 09:05:00 +0000 (11:05 +0200)]
main: use strv_extendf() where appropriate
Andika Triwidada [Fri, 24 Sep 2021 11:05:02 +0000 (13:05 +0200)]
po: Translated using Weblate (Indonesian)
Currently translated at 100.0% (189 of 189 strings)
Co-authored-by: Andika Triwidada <andika@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/id/
Translation: systemd/main
Anita Zhang [Fri, 24 Sep 2021 08:19:00 +0000 (01:19 -0700)]
link: connect 5 more properties to ethtool features
Sets up the follow properties and their corresponding ethtool feature:
- ReceiveVLANCTAGHardwareAcceleration == rx-vlan-hw-parse (or rxvlan)
- TransmitVLANCTAGHardwareAcceleration == tx-vlan-hw-insert (or txvlan)
- ReceiveVLANCTAGFilter == rx-vlan-filter
- TransmitVLANSTAGHardwareAcceleration == tx-vlan-stag-hw-insert
- NTupleFilter == rx-ntuple-filter (or ntuple)
Lennart Poettering [Fri, 24 Sep 2021 11:25:31 +0000 (13:25 +0200)]
Merge pull request #20826 from yuwata/network-sd-event-source-disable-unref
network: disable event sources before unref them
Yu Watanabe [Fri, 24 Sep 2021 08:26:35 +0000 (17:26 +0900)]
libsystemd-network: disable event sources before unref them
Fixes #20825.
Yu Watanabe [Fri, 24 Sep 2021 08:26:10 +0000 (17:26 +0900)]
network: disable event sources before unref them
Lennart Poettering [Thu, 23 Sep 2021 19:17:05 +0000 (21:17 +0200)]
Merge pull request #20789 from poettering/initrd-cpio
efi-stub: when booting a kernel foo.efi then pack foo.efi.extra.d/*.{cred,raw} as an initrd
Lennart Poettering [Thu, 23 Sep 2021 15:08:58 +0000 (17:08 +0200)]
smack-util: tiny simplification
Lennart Poettering [Thu, 23 Sep 2021 15:48:26 +0000 (17:48 +0200)]
boot: prefer IMAGE_VERSION from os-release as version string
If the field exists it's probably the best version we have for sorting,
since it will change on every single OS image update.
Lennart Poettering [Tue, 21 Sep 2021 15:28:16 +0000 (17:28 +0200)]
man: document the new systemd-boot drop-in driver dir logic
Lennart Poettering [Tue, 21 Sep 2021 14:52:57 +0000 (16:52 +0200)]
man: the sd-boot menu is probably more "textual" then "graphical", hence don't lie
(also, most communication happens between boot loader and OS, only
seldom stuff goes the other way, hence mention that the boot loader
first)
Lennart Poettering [Tue, 21 Sep 2021 14:52:24 +0000 (16:52 +0200)]
man: add man page for the systemd UEFI stub
Fixes: #17215
Lennart Poettering [Tue, 21 Sep 2021 20:13:23 +0000 (22:13 +0200)]
boot: add get_os_indications_supported() helper
We inquire the EFI var for this at two places, let's add a helper that
queries it and gracefully handles it if we can't get it, by returning a
zero mask, i.e. no features supported.
Lennart Poettering [Tue, 21 Sep 2021 20:00:06 +0000 (22:00 +0200)]
stub: various modernizations to linux.c
Let's make some stuff const. Most importanly call AllocatePages() with
a pointer to an EFI_PHYSICAL_ADDRESS instead of a pointer to a
pointer. On 64bit this makes no difference, but on i386 this is simply
not correct, since EFI_PHYSICAL_ADDRESS is 64bit there, even though
pointers are 32bit.
Lennart Poettering [Tue, 21 Sep 2021 19:57:51 +0000 (21:57 +0200)]
boot: add helper for converting EFI_PHYSICAL_ADDRESS to a pointer
This isn't trivial when trying to be compatible with 32bit archs, hence
add a set of helper macro-like functions that make the conversion safe.
Lennart Poettering [Tue, 21 Sep 2021 13:39:47 +0000 (15:39 +0200)]
boot: move TPM conditionalization into measure.h header
Let's move conditionalization of tpm_log_load_options() into the
measure.h to encapsulate the ifdeffery a bit more.
Lennart Poettering [Tue, 21 Sep 2021 13:29:03 +0000 (15:29 +0200)]
boot: port more code over to get_file_info_harder()
Lennart Poettering [Tue, 21 Sep 2021 13:24:50 +0000 (15:24 +0200)]
boot: port more code to readdir_harder()
Lennart Poettering [Tue, 21 Sep 2021 13:20:40 +0000 (15:20 +0200)]
boot: use _cleanup_freepool_ at more places
Lennart Poettering [Tue, 21 Sep 2021 13:13:29 +0000 (15:13 +0200)]
boot: port more code to use open_directory() helper
Lennart Poettering [Tue, 21 Sep 2021 12:47:05 +0000 (14:47 +0200)]
boot: automatically load drop-in EFI drivers off the ESP
Fixes: #15617
Lennart Poettering [Tue, 21 Sep 2021 12:45:55 +0000 (14:45 +0200)]
boot: split out code that loads the various menu entries into helper call
Just some refactoring, no real code changes.
Lennart Poettering [Tue, 21 Sep 2021 12:36:56 +0000 (14:36 +0200)]
boot: split out code that sets various EFI vars from main()
Just some refactoring, no actual code changes.
Lennart Poettering [Mon, 20 Sep 2021 15:26:48 +0000 (17:26 +0200)]
stub: make splash image payload const
Lennart Poettering [Tue, 21 Sep 2021 17:33:01 +0000 (19:33 +0200)]
stub: show splash screen earlier
let's move showing of the splash screen to the earliest place we know
the splash bmp address. After all a splash screen is all about showing
as early as we can. This matters as doing TPM stuff or packing up a
large cpio might take time.
While we are at it, move the conditionalization of the splash screen
into the function instead of doing it ahead of calling it. This should
encapsulate things more nicely.
Lennart Poettering [Tue, 21 Sep 2021 17:28:18 +0000 (19:28 +0200)]
stub: split out code that sets the various efi vars into function of its own
Just some refactoring, no code changes beyond the splitting out.
Lennart Poettering [Tue, 21 Sep 2021 17:27:25 +0000 (19:27 +0200)]
boot: unify code that measures image options/kernel command line
Lennart Poettering [Mon, 20 Sep 2021 13:10:33 +0000 (15:10 +0200)]
boot: stop making TPM PCR to measure kernel command line into configurable
Everyone appears to use PCR 8 for this, hence I think it's safe to
hardcode that in systemd too.
It's also documented, like here:
https://www.gnu.org/software/grub/manual/grub/html_node/Measured-Boot.html
or here:
https://github.com/rhboot/shim/blob/main/README.tpm
(And the previous name was a bit confusing, since we don't actually just
measure one thing anymore, but mutliple things into multiple PCRs...)
Lennart Poettering [Mon, 20 Sep 2021 11:47:32 +0000 (13:47 +0200)]
stub: when booting a kernel foo.efi then pack foo.efi.extra.d/*.{cred,raw} up as synthetic initrd
This adds support for the EFI stub to look for credential files and
sysext files next to the EFI kernel image being loaded, and pack them up
in an initrd cpio image, and pass them to the kernel.
Specifically, for a kernel image foo.efi it looks for
foo.efi.extra.d/*.cred and packs these files up in an initrd, placing it
inside a directory /.extra/credentials/. It then looks for
foo.efi.extra.d/*.raw and pack these files up in an initrd, placing them
inside a directory /.extra/sysexts/. It then concatenates any other
initrd with these two initrds, so they are combined.
Or in other words auxiliary files placed next to the kernel image are
picked up automatically by the EFI stub and be made available in the
initrd in the /.extra/ directory.
What's the usecase for this? This is supposed to be useful in context of
implementing fully trusted initrds, i.e. initrds that are not built
locally on the system and unsigned/unmeasured – as we do things
currently —, but instead are built by the vendor, and measured to TPM.
The idea is that a basic initrd is always linked into the kernel EFI
image anyway. This will already be sufficient for many cases. However,
in some cases it is necessary to parameterize initrds, or to extend the
basic initrds with additional subsystems (e.g. think complex storage, or
passing server info/certificates/… to initrds). The idea is that the
parameterization is done using the "credentials" logic we already have
in systemd, with these credential files (which can optionally be
encrypted+authenticated by TPM2) being placed in the ESP next to the
kernel image. And the initrd extension via the "sysext" logic we already
have in systemd too.
Note that the files read by this code are not verified immediately, they
are copied *as-is* and placed into /.extra/ in the initrd. In a trusted
environment they need to be validated later, but before first use. For
the credentials logic this should be done via the TPM2
encryption/authentication logic. For the sysext stuff the idea is that
this is done via signed images, as implemented by #20691.
Lennart Poettering [Mon, 20 Sep 2021 12:07:42 +0000 (14:07 +0200)]
boot: generalize sorting code
Let's make this generic, so that we can reuse it elsewhere later.
Lennart Poettering [Mon, 20 Sep 2021 11:47:44 +0000 (13:47 +0200)]
boot: add a bunch of new helper calls
Lennart Poettering [Fri, 17 Sep 2021 08:48:46 +0000 (10:48 +0200)]
boot: add a way to indicate overflow in ALIGN_TO()
Lennart Poettering [Thu, 23 Sep 2021 15:07:25 +0000 (17:07 +0200)]
update TODO
Lennart Poettering [Fri, 17 Sep 2021 09:16:36 +0000 (11:16 +0200)]
mkosi: turn off qemu headless mode
We ship the mkosi files to make sure we can test our own code. A good
chunk of our code (and the main reason to use qemu rather than nspawn)
is the EFI code, i.e. in sd-boot and the EFI stub. Hence it's bad idea
to use qemu headless mode, since that means we bypass all that.
Let's hence toggle the defaults here, but keep the line in place, to
make it easy to switch back if someone wants the speed, rather than the
testing.
Anssi Hannula [Thu, 23 Sep 2021 09:08:05 +0000 (12:08 +0300)]
bootctl: Fix update not adding EFI entry if Boot IDs are non-consecutive
"bootctl update" tries to add sd-boot to the EFI boot loader list if it
is not already there. To do so, it uses find_slot() which finds the
proper BootXXXX slot ID to use and also returns 1 if an existing sd-boot
entry was found at this ID or 0 if it is a new unused ID. In "update"
case install_variables() only writes the entry in case 0 (no existing
entry).
However, find_slot() erroneously returns 1 if it finds a gap in the Boot
IDs (i.e. when not resorting to max(ids) + 1). This causes
"bootctl update" to not add a missing systemd-boot boot entry if the
existing BootXXXX entry IDs are not consecutive.
Fix that by returning 0 in find_slot() when an empty gap ID is selected
to make it match the behavior when selecting an empty non-gap ID.
Alberto Mardegan [Thu, 23 Sep 2021 12:48:06 +0000 (15:48 +0300)]
docs: clarify order of events in cgroup scope creation
Dan Streetman [Tue, 21 Sep 2021 21:47:55 +0000 (17:47 -0400)]
userdb: fix if-else to allow NameServiceSwitch lookups
Fixes: #20809. Bug introduced in
8fbb1941f1a8c3d9eda920891b2b51a67f2a2375
Yu Watanabe [Wed, 22 Sep 2021 07:35:56 +0000 (16:35 +0900)]
sd-dhcp6-client: ignore IAs whose IAID do not match client's IAID
But do not refuse whole message.
Fixes #20803.
Luca Boccassi [Wed, 22 Sep 2021 14:46:50 +0000 (15:46 +0100)]
Merge pull request #20736 from keszybz/ioprio-simplification
Use a simple kernel-compatible header for ioprio
Luca Boccassi [Wed, 22 Sep 2021 11:01:59 +0000 (12:01 +0100)]
Merge pull request #20806 from fbuihuu/test-make-debug-tools-optional
test: make the installation of the debug tools optional in the image
Zbigniew Jędrzejewski-Szmek [Tue, 14 Sep 2021 14:45:07 +0000 (16:45 +0200)]
Get rid of ioprio.h and add a minimalistic reimplementation of the api
Zbigniew Jędrzejewski-Szmek [Tue, 14 Sep 2021 14:27:32 +0000 (16:27 +0200)]
Define ioprio_{get,set} the same as other compat syscalls