]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agoswitch-root: reopen target directory after it is mounted 28648/head
Yu Watanabe [Thu, 3 Aug 2023 19:03:29 +0000 (04:03 +0900)] 
switch-root: reopen target directory after it is mounted

Fixes a bug introduced by f717d7a40a696b351415976f22a4f498c401de41.

2 years agoshutdown: do not umount recursively before MS_MOVE
Yu Watanabe [Wed, 2 Aug 2023 19:19:14 +0000 (04:19 +0900)] 
shutdown: do not umount recursively before MS_MOVE

Unmounting filesystem will be done gracefully by shutdown itself.

Follow-up for f2c1d491a539035d6cc1fa53a7cef0cbc8d52902 and
268d1244e87a35ff8dff56c92ef375ebf69d462e.

2 years agoshutdown: disable recursive mount of /run/ on switching root
Yu Watanabe [Wed, 2 Aug 2023 17:50:09 +0000 (02:50 +0900)] 
shutdown: disable recursive mount of /run/ on switching root

Mounting /run/ recursively may be harmless, but not necessary on
shutdown as the new root is /run/initramfs.

Follow-up for b12d41a8bb7c99f7d7a1c7821a886d98b42d9ce0.

2 years agopo: Translated using Weblate (Turkish)
Oğuz Ersen [Thu, 3 Aug 2023 17:21:04 +0000 (19:21 +0200)] 
po: Translated using Weblate (Turkish)

Currently translated at 88.1% (200 of 227 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/tr/
Translation: systemd/main

2 years agovconsole: support KEYMAP=kernel for preserving kernel keymap
Mike Yuan [Thu, 3 Aug 2023 13:42:00 +0000 (21:42 +0800)] 
vconsole: support KEYMAP=kernel for preserving kernel keymap

Follow-up for #26089 and #28505

Currently, if default-keymap is not empty, there's no way
to ask vconsole-setup to retain the kernel keymap. Let's
accept a special value "kernel" for that purpose.

Addresses the problem mentioned in https://github.com/systemd/systemd/pull/28505#issuecomment-1663681665

2 years agohwdb: Mute SW rfkill keys on MSI Wind U100
Maxim Mikityanskiy [Thu, 3 Aug 2023 14:40:15 +0000 (17:40 +0300)] 
hwdb: Mute SW rfkill keys on MSI Wind U100

Kernel patch [1] fixed bugs in rfkill handling on MSI Wind U100. Now
that the HW rfkill reports the correct state, and the SW rfkill is
controllable from userspace, it's necessary to mute KEY_WLAN and
KEY_BLUETOOTH generated on HW rfkill state changes. Otherwise, the
userspace will react to these keys and toggle the SW rfkill as well,
which is not desired, because the user may end up with non-functional
radios if HW and SW rfkills are out of sync.

Blocking these keycodes doesn't impair user experience, because the
desktop environment can still react to HW rfkill events and act
accordingly (for example, show notifications).

While at it, use "unknown" instead of "reserved" to mute keys, to avoid
the "atkbd serio0: Unknown key pressed" flood in dmesg.

[1]: https://lore.kernel.org/all/20230721145423.161057-1-maxtram95@gmail.com/

2 years agoMerge pull request #28628 from yuwata/meson-use-template-part6
Yu Watanabe [Thu, 3 Aug 2023 17:16:07 +0000 (02:16 +0900)] 
Merge pull request #28628 from yuwata/meson-use-template-part6

meson: use template to declare executables (part 6)

2 years agomkosi: Update to latest
Daan De Meyer [Thu, 3 Aug 2023 13:33:40 +0000 (15:33 +0200)] 
mkosi: Update to latest

We modify all our scripts to execute in the image instead of on the
hosts. In the future we can adapt them to run on the host.

2 years agoMerge pull request #28632 from DaanDeMeyer/repart-synthesize
Daan De Meyer [Thu, 3 Aug 2023 11:49:31 +0000 (13:49 +0200)] 
Merge pull request #28632 from DaanDeMeyer/repart-synthesize

repart: Add --copy-from option

2 years agomeson: set suite for all tests, and adjust suite for some tests 28628/head
Yu Watanabe [Mon, 26 Jun 2023 16:28:32 +0000 (01:28 +0900)] 
meson: set suite for all tests, and adjust suite for some tests

2 years agomeson: also merge declarations of fuzzers with other executables
Yu Watanabe [Mon, 26 Jun 2023 16:07:25 +0000 (01:07 +0900)] 
meson: also merge declarations of fuzzers with other executables

2 years agomeson: merge declarations of normal and test executables
Yu Watanabe [Sun, 25 Jun 2023 23:52:26 +0000 (08:52 +0900)] 
meson: merge declarations of normal and test executables

2 years agotest: rename udev-rule-runner -> test-udev-rule-runner
Yu Watanabe [Thu, 3 Aug 2023 10:57:41 +0000 (19:57 +0900)] 
test: rename udev-rule-runner -> test-udev-rule-runner

This partially revert 0454cf05d38d289474ca65c1917d414b2958f6b5.
The executable actually does not work with itself, but needs to be
combined with test-udev.py. But, even so, the executable is for testing.

In the next commit, test and normal executables are declared in the same
way, and naming of the executable becomes essential to classify them.
Let's rename the executable and prefix with 'test-'.

2 years agomeson: use template to declare udev plugins
Yu Watanabe [Sun, 25 Jun 2023 20:01:03 +0000 (05:01 +0900)] 
meson: use template to declare udev plugins

2 years agomeson: introduce HAVE_DMI flag
Yu Watanabe [Sat, 29 Jul 2023 21:32:53 +0000 (06:32 +0900)] 
meson: introduce HAVE_DMI flag

The condition is used at several places. Let's introduce a simple flag
for that.

2 years agotest: fix test executable name
Yu Watanabe [Thu, 3 Aug 2023 11:36:51 +0000 (20:36 +0900)] 
test: fix test executable name

Follow-up for 82a1d6d09625b656c991f25e82b5651c74a55945.

2 years agomeson: move several test declarations
Yu Watanabe [Sun, 25 Jun 2023 18:46:05 +0000 (03:46 +0900)] 
meson: move several test declarations

One of the notable change is that previously test-sysusers.sh was installed
unconditionally, but now it is installed only when sysusers is enabled.

Another change is that test-sysv-generator is now re-introduced which
was mistakenly dropped by 6c713961ab0831fe744a2df9c4e9e258b6ba3105.

2 years agorepart: Add --copy-from option 28632/head
Daan De Meyer [Tue, 1 Aug 2023 19:38:39 +0000 (21:38 +0200)] 
repart: Add --copy-from option

--copy-from synthesizes partition definitions from the given image
which are then applied to the repart algorithm. In its most basic
form, this allows copying an image to another device but it can
also be combined with --definitions to copy + add partitions in the
same call to repart.

2 years agoMerge pull request #28651 from kraj/kraj/include-fixes
Luca Boccassi [Wed, 2 Aug 2023 23:12:05 +0000 (00:12 +0100)] 
Merge pull request #28651 from kraj/kraj/include-fixes

Add missing system includes for `LOCK_EX` and `struct timex`

2 years agoinclude missing sys/file.h for LOCK_EX 28651/head
Khem Raj [Wed, 2 Aug 2023 19:18:24 +0000 (12:18 -0700)] 
include missing sys/file.h for LOCK_EX

2 years agotest/test-sizeof: Include sys/timex.h for struct timex
Khem Raj [Wed, 2 Aug 2023 19:14:56 +0000 (12:14 -0700)] 
test/test-sizeof: Include sys/timex.h for struct timex

Fixes

../git/src/test/test-sizeof.c:64:41: error: incomplete definition of type 'struct timex'
   64 |         check(typeof(((struct timex *)0)->freq), SIZEOF_TIMEX_MEMBER);
      |                      ~~~~~~~~~~~~~~~~~~~^

2 years agoMerge pull request #28640 from medhefgo/boot-count
Yu Watanabe [Wed, 2 Aug 2023 21:45:09 +0000 (06:45 +0900)] 
Merge pull request #28640 from medhefgo/boot-count

bless-boot: Actually return successfully

2 years agojournalctl: do not add io event source for stdout if it is a file
Yu Watanabe [Wed, 2 Aug 2023 15:53:48 +0000 (00:53 +0900)] 
journalctl: do not add io event source for stdout if it is a file

Fixes a bug introduced by 713342d9b09d717e9942ed08bd620c9159a98fb8.

Fixes #28636.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2228089.

2 years agovarlink: allocate the buffer for varlink FDs on the heap
Frantisek Sumsal [Wed, 2 Aug 2023 12:55:50 +0000 (14:55 +0200)] 
varlink: allocate the buffer for varlink FDs on the heap

Since it's ~16K, which might cause issues in environments with limited
stack space.

Resolves: #28635

2 years agoudev: decrease devlink priority for encrypted partitions
Yu Watanabe [Wed, 2 Aug 2023 14:33:14 +0000 (23:33 +0900)] 
udev: decrease devlink priority for encrypted partitions

Decrease devlink priority for encrypted partitions, and make the priority for
decrypted DM devices relatively higher. This is for the case that an encrypted
partition and its decrypted DM device have the same label.

2 years agoMerge pull request #28646 from yuwata/network-generator-ip-dhcp
Yu Watanabe [Wed, 2 Aug 2023 20:48:58 +0000 (05:48 +0900)] 
Merge pull request #28646 from yuwata/network-generator-ip-dhcp

network-generator: make ip=dhcp works with container manager

2 years agoinclude sys/file.h for LOCK_EX
Khem Raj [Wed, 2 Aug 2023 17:33:48 +0000 (10:33 -0700)] 
include sys/file.h for LOCK_EX

Fixes
| ../git/src/basic/user-util.c:708:30: error: use of undeclared identifier 'LOCK_EX'; did you mean 'LOCK_BSD'?
|   708 |         r = unposix_lock(fd, LOCK_EX);
|       |                              ^~~~~~~
|       |                              LOCK_BSD

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 years agoNEWS: PrivateNetwork implies PrivateMounts
Etienne Dechamps [Wed, 2 Aug 2023 17:52:41 +0000 (18:52 +0100)] 
NEWS: PrivateNetwork implies PrivateMounts

This is clearly a change that can break existing units, and broke my
system in at least two different ways. For this reason this should have
been added to NEWS in #26458, specifically c2da3bf, but wasn't.

2 years agonetwork-generator: make network file generated from ip=dhcp matches only physical... 28646/head
Yu Watanabe [Wed, 2 Aug 2023 17:12:10 +0000 (02:12 +0900)] 
network-generator: make network file generated from ip=dhcp matches only physical interfaces

Otherwise, it also matches later created virtual devices, and that
breaks networks generated and managed by container management services,
like docker.

Closes #28626.

2 years agomeson: fix name of test-network-generator
Yu Watanabe [Wed, 2 Aug 2023 17:20:57 +0000 (02:20 +0900)] 
meson: fix name of test-network-generator

As the test executable is named based on the first source file.

2 years agoboot: Make file info size a constant 28640/head
Jan Janssen [Wed, 2 Aug 2023 14:21:51 +0000 (16:21 +0200)] 
boot: Make file info size a constant

2 years agoboot: Fix boot counting for XBOOTLDR entries
Jan Janssen [Wed, 2 Aug 2023 14:00:07 +0000 (16:00 +0200)] 
boot: Fix boot counting for XBOOTLDR entries

We were passing the dir handle for the ESP to
config_entry_bump_counters(), which will obviously fail if the entry
actually resides on the XBOOTLDR partition.

Fixes: #28637
2 years agobless-boot: Actually return successfully
Jan Janssen [Wed, 2 Aug 2023 13:16:33 +0000 (15:16 +0200)] 
bless-boot: Actually return successfully

$ journalctl -u systemd-bless-boot.service
systemd[1]: Starting Mark the Current Boot Loader Entry as Good...
systemd-bless-boot[536]: Marked boot as 'good'. (Boot attempt counter is at 2.)
systemd-bless-boot[536]: Can't find boot counter source file for '/loader/entries/arch.conf': Device or resource busy
systemd[1]: Finished Mark the Current Boot Loader Entry as Good.

2 years agoMerge pull request #28623 from yuwata/udev-builtin-net_id-cleanups
Luca Boccassi [Tue, 1 Aug 2023 21:09:32 +0000 (22:09 +0100)] 
Merge pull request #28623 from yuwata/udev-builtin-net_id-cleanups

udev: several cleanups for net_id builtin (part 4)

2 years agoMerge pull request #28630 from fbuihuu/update-testsuite-for-opensuse
Luca Boccassi [Tue, 1 Aug 2023 21:08:52 +0000 (22:08 +0100)] 
Merge pull request #28630 from fbuihuu/update-testsuite-for-opensuse

Update testsuite for opensuse

2 years agosysupdate: Move fdisk partition flags helpers to fdisk-util.c
Daan De Meyer [Tue, 1 Aug 2023 19:38:11 +0000 (21:38 +0200)] 
sysupdate: Move fdisk partition flags helpers to fdisk-util.c

2 years agorepart: Rename partition_exclude/defer() to partition_type_exclude/defer()
Daan De Meyer [Tue, 1 Aug 2023 19:20:05 +0000 (21:20 +0200)] 
repart: Rename partition_exclude/defer() to partition_type_exclude/defer()

2 years agobuild(deps): bump systemd/mkosi
dependabot[bot] [Tue, 1 Aug 2023 09:03:17 +0000 (09:03 +0000)] 
build(deps): bump systemd/mkosi

Bumps [systemd/mkosi](https://github.com/systemd/mkosi) from 5866c0ff3b36d350c943016e5a3b115f7a95d37f to c6dd95b6eae0386579071cbf44fd838ce28b7237.
- [Release notes](https://github.com/systemd/mkosi/releases)
- [Changelog](https://github.com/systemd/mkosi/blob/main/NEWS.md)
- [Commits](https://github.com/systemd/mkosi/compare/5866c0ff3b36d350c943016e5a3b115f7a95d37f...c6dd95b6eae0386579071cbf44fd838ce28b7237)

---
updated-dependencies:
- dependency-name: systemd/mkosi
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agoukify: Only run systemd-measure after adding all sections
Daan De Meyer [Mon, 31 Jul 2023 19:35:02 +0000 (21:35 +0200)] 
ukify: Only run systemd-measure after adding all sections

We were running systemd-measure before adding the sbat section,
let's fix that.

Also make sure we only pass --linux to systemd-measure once instead
of twice.

2 years agotest: install systemd-homed for openSUSE 28630/head
Franck Bui [Tue, 1 Aug 2023 17:40:34 +0000 (19:40 +0200)] 
test: install systemd-homed for openSUSE

This new sub-package has been recently introduced.

2 years agotest: console fonts are located in /usr/share on openSUSE
Franck Bui [Tue, 1 Aug 2023 17:38:13 +0000 (19:38 +0200)] 
test: console fonts are located in /usr/share on openSUSE

2 years agotest: skip tests earlier when we do not have enough privileges
Yu Watanabe [Tue, 1 Aug 2023 15:44:51 +0000 (00:44 +0900)] 
test: skip tests earlier when we do not have enough privileges

Hopefully fixes #28624.

2 years agoMerge pull request #28620 from yuwata/meson-use-template-part5
Daan De Meyer [Tue, 1 Aug 2023 16:10:52 +0000 (18:10 +0200)] 
Merge pull request #28620 from yuwata/meson-use-template-part5

meson: use template to declare executables (part 5)

2 years agoudev-builtin-net_id: first parse USB or BCMA identifier, then parse PCI properties 28623/head
Yu Watanabe [Tue, 1 Aug 2023 13:30:57 +0000 (22:30 +0900)] 
udev-builtin-net_id: first parse USB or BCMA identifier, then parse PCI properties

Previously, we first generate names based on the PCI slot and ACPI
onboard index, and then append an identifier based on USB or BCMA bus
if it exists in between the PCI bus and the interface.

However, if there exists USB or BCMA bus, the name based on the
ACPI onboard index is not used.

So, let's invert the order; first generate USB or BCMA identifier if the
bus exists, then prepend the name with the PCI slot identifier.

With this change, we can drop Names struct, and each naming logic
becomes self-consistent.

2 years agoudev-builtin-net_id: split out names_pci_onboard_label() from dev_pci_onboard()
Yu Watanabe [Tue, 1 Aug 2023 05:27:25 +0000 (14:27 +0900)] 
udev-builtin-net_id: split out names_pci_onboard_label() from dev_pci_onboard()

Then call it only when it is necessary. The label is used only when the
interface is directly connected to the PCI bus, and it does not have the
SR-IOV feature (or the naming based on SR-IOV is disabled).

2 years agoudev-builtin-net_id: drop redundant copy of BCMA identifier in names_bcma()
Yu Watanabe [Tue, 1 Aug 2023 13:26:21 +0000 (22:26 +0900)] 
udev-builtin-net_id: drop redundant copy of BCMA identifier in names_bcma()

Then, this makes names based on the BCMA and PCI identifiers in
names_bcma().

No functional change, just refactoring.

2 years agoudev-builtin-net_id: split out get_bcma_specifier() from names_bcma()
Yu Watanabe [Tue, 1 Aug 2023 05:08:35 +0000 (14:08 +0900)] 
udev-builtin-net_id: split out get_bcma_specifier() from names_bcma()

This contains redundant copy of BCMA identifier, but that will be
dropped in the next commit.

No functional change, just refactoring and preparation for later
commits.

2 years agoudev-builtin-net_id: drop redundant copy of USB identifier in names_usb()
Yu Watanabe [Tue, 1 Aug 2023 12:50:40 +0000 (21:50 +0900)] 
udev-builtin-net_id: drop redundant copy of USB identifier in names_usb()

This makes the names based on the USB identifier (and possibly with PCI
specifier) built in names_usb()

No functional change, just refactoring.

2 years agoudeb-builtin-net_id: split out get_usb_specifier() from names_usb()
Yu Watanabe [Tue, 1 Aug 2023 04:51:53 +0000 (13:51 +0900)] 
udeb-builtin-net_id: split out get_usb_specifier() from names_usb()

This contains redundant copy of USB identifier, but that will be
dropped in the next commit.

No functional change, just refactoring and preparation for later
commits.

2 years agoMerge pull request #28619 from yuwata/udev-builtin-net_id-cleanups-part3
Yu Watanabe [Tue, 1 Aug 2023 14:35:03 +0000 (23:35 +0900)] 
Merge pull request #28619 from yuwata/udev-builtin-net_id-cleanups-part3

udev: several cleanups and fixlets for net_id builtin (part 3)

2 years agoMerge pull request #28423 from dvdhrm/pr/memfd
Luca Boccassi [Tue, 1 Aug 2023 14:33:24 +0000 (15:33 +0100)] 
Merge pull request #28423 from dvdhrm/pr/memfd

basic/memfd: untangle historic `sealed` property

2 years agoMerge pull request #28621 from DaanDeMeyer/repart-fix
Daan De Meyer [Tue, 1 Aug 2023 14:32:35 +0000 (16:32 +0200)] 
Merge pull request #28621 from DaanDeMeyer/repart-fix

Revert https://github.com/systemd/systemd/pull/28556

2 years agobuild(deps): bump actions/labeler from 4.2.0 to 4.3.0
dependabot[bot] [Tue, 1 Aug 2023 09:03:30 +0000 (09:03 +0000)] 
build(deps): bump actions/labeler from 4.2.0 to 4.3.0

Bumps [actions/labeler](https://github.com/actions/labeler) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/0967ca812e7fdc8f5f71402a1b486d5bd061fe20...ac9175f8a1f3625fd0d4fb234536d26811351594)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agobuild(deps): bump meson from 1.1.1 to 1.2.0 in /.github/workflows
dependabot[bot] [Tue, 1 Aug 2023 09:34:19 +0000 (09:34 +0000)] 
build(deps): bump meson from 1.1.1 to 1.2.0 in /.github/workflows

Bumps [meson](https://github.com/mesonbuild/meson) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.1.1...1.2.0)

---
updated-dependencies:
- dependency-name: meson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agoRevert "repart: Allow combining CopyBlocks= and CopyFiles=" 28621/head
Daan De Meyer [Tue, 1 Aug 2023 13:10:40 +0000 (15:10 +0200)] 
Revert "repart: Allow combining CopyBlocks= and CopyFiles="

This reverts commit dea0dc7ba2d779e5b65cb029395216859408931c.

2 years agoRevert "repart: Add --oem and OEM="
Daan De Meyer [Tue, 1 Aug 2023 13:10:24 +0000 (15:10 +0200)] 
Revert "repart: Add --oem and OEM="

This reverts commit 47c7805579bd54f2c149c80b22caed6f71ea01a7.

2 years agoRevert "units: Import all repart credentials in systemd-repart.service"
Daan De Meyer [Tue, 1 Aug 2023 13:10:02 +0000 (15:10 +0200)] 
Revert "units: Import all repart credentials in systemd-repart.service"

This reverts commit ed6b99dbf121f8ad3e68a1eb8e2fff4d4bdf3066.

2 years agomeson: move declarations of kernel-install and sulogin-shell 28620/head
Yu Watanabe [Sun, 25 Jun 2023 18:44:39 +0000 (03:44 +0900)] 
meson: move declarations of kernel-install and sulogin-shell

2 years agomeson: move declarations of networkd and friends
Yu Watanabe [Sun, 25 Jun 2023 18:40:54 +0000 (03:40 +0900)] 
meson: move declarations of networkd and friends

2 years agomeson: move declarations of modules-load, nspawn, update-done, and update-utmp
Yu Watanabe [Sun, 25 Jun 2023 18:38:48 +0000 (03:38 +0900)] 
meson: move declarations of modules-load, nspawn, update-done, and update-utmp

2 years agomeson: move declarations of socket-proxy, udevadm, quotacheck, and shutdown
Yu Watanabe [Sun, 25 Jun 2023 18:35:47 +0000 (03:35 +0900)] 
meson: move declarations of socket-proxy, udevadm, quotacheck, and shutdown

2 years agomeson: move declarations of hwdb, sysusers, and tmpfiles
Yu Watanabe [Sun, 25 Jun 2023 18:28:32 +0000 (03:28 +0900)] 
meson: move declarations of hwdb, sysusers, and tmpfiles

2 years agomeson: move declarations of busctl, stdio-bridge, and run
Yu Watanabe [Sun, 25 Jun 2023 18:23:59 +0000 (03:23 +0900)] 
meson: move declarations of busctl, stdio-bridge, and run

2 years agomeson: move declarations of cgls, cgtop, initctl, and systemd-mount
Yu Watanabe [Sun, 25 Jun 2023 18:21:42 +0000 (03:21 +0900)] 
meson: move declarations of cgls, cgtop, initctl, and systemd-mount

2 years agomeson: move declarations of ask-password and friends
Yu Watanabe [Sun, 25 Jun 2023 18:18:38 +0000 (03:18 +0900)] 
meson: move declarations of ask-password and friends

2 years agoudev-builtin-net_id: fix potential buffer overflow 28619/head
Yu Watanabe [Wed, 28 Sep 2022 09:09:29 +0000 (18:09 +0900)] 
udev-builtin-net_id: fix potential buffer overflow

2 years agoudev-builtin-net_id: various coding style cleanups
Yu Watanabe [Wed, 28 Sep 2022 09:12:43 +0000 (18:12 +0900)] 
udev-builtin-net_id: various coding style cleanups

2 years agoudev-builtin-net_id: introduce device_is_stacked() helper function
Yu Watanabe [Tue, 1 Aug 2023 02:09:25 +0000 (11:09 +0900)] 
udev-builtin-net_id: introduce device_is_stacked() helper function

Then, we can drop LinkInfo struct.
No functional change, just refactoring.

2 years agoudev-builtin-net_id: drop unused arguments
Yu Watanabe [Tue, 1 Aug 2023 02:08:43 +0000 (11:08 +0900)] 
udev-builtin-net_id: drop unused arguments

2 years agoMerge pull request #28611 from yuwata/meson-use-template
Yu Watanabe [Tue, 1 Aug 2023 12:32:48 +0000 (21:32 +0900)] 
Merge pull request #28611 from yuwata/meson-use-template

meson: use template (part 4)

2 years agocore: free the strings in the set in other places too
David Tardon [Tue, 1 Aug 2023 08:44:06 +0000 (10:44 +0200)] 
core: free the strings in the set in other places too

Follow-up for #28551.

2 years agoMerge pull request #28609 from yuwata/udev-builtin-net_id-cleanups-part2
Yu Watanabe [Tue, 1 Aug 2023 11:52:47 +0000 (20:52 +0900)] 
Merge pull request #28609 from yuwata/udev-builtin-net_id-cleanups-part2

udev: several cleanups and fixes for net_id builtin (part2)

2 years agowatchdog: Allow the watchdog to be disabled at runtime
Curtis Klein [Fri, 5 May 2023 23:17:13 +0000 (16:17 -0700)] 
watchdog: Allow the watchdog to be disabled at runtime

manager_{get|set|override}_watchdog check the validity of the new
timeout or the overridden timeout values using timestamp_is_set which
does not recognize "0" as a valid value. However since f16890f, "0"
indicates a disabled watchdog and so is a value we should be able to
configure in order to disable the watchdog. A value of USEC_INFINITY is
considered a no-op. The behavior should be the same for all watchdog
timeout configurations (runtime, pretimeout, and shutdown).

2 years agobuild(deps): bump github/codeql-action from 2.20.1 to 2.21.2
dependabot[bot] [Tue, 1 Aug 2023 09:03:25 +0000 (09:03 +0000)] 
build(deps): bump github/codeql-action from 2.20.1 to 2.21.2

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.20.1 to 2.21.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/f6e388ebf0efc915c6c5b165b019ee61a6746a38...0ba4244466797eb048eb91a6cd43d5c03ca8bd05)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agobasic/memfd: fix memfd_map() seal test 28423/head
David Rheinsberg [Mon, 17 Jul 2023 10:17:56 +0000 (12:17 +0200)] 
basic/memfd: fix memfd_map() seal test

Private mappings are required when F_SEAL_WRITE is set on a memfd,
because otherwise you could end up with writable mappings through
mprotect() and other calls. This is a limitation of the kernel
implementation, and might be lifted by future extensions.

Regardless, the current code tests for the full `is_sealed()` before
using MAP_PRIVATE. This might end up using MAP_SHARED for write-sealed
memfds, which will be refused by the kernel.

Fix this and make memfd_map() check for exactly `F_SEAL_WRITE`.

2 years agobasic/memfd: add fcntl() wrappers
David Rheinsberg [Mon, 17 Jul 2023 10:16:01 +0000 (12:16 +0200)] 
basic/memfd: add fcntl() wrappers

Add wrappers around GET/ADD_SEALS to allow future use outside of the
current `memfd_get/set_sealed()` helpers.

2 years agobasic/memfd: reduce default seals to historic set
David Rheinsberg [Mon, 17 Jul 2023 10:01:18 +0000 (12:01 +0200)] 
basic/memfd: reduce default seals to historic set

Rather than always setting all seals, make `memfd_set_seals()` employ
the original set of seals, that is: SEAL+GROW+SHRINK+WRITE

Historically, the memfd code was used with the out-of-tree memfd
patches, which merely supported a single seal ("SEALED", which
effectively was GROW+SHRINK+WRITE). When the code was adapted to the
upstream memfd seals, it was extended to the full seal set. With more
and more seals being added upstream, this because more problematic. In
particular, it is unclear what the function really is meant to achieve.

Instead of just adding all seals, the function is returned to its
original purpose: seal the memfd so futher modifications to its content
are prevented.

2 years agobasic/memfd: drop test for F_SEAL_SEAL
David Rheinsberg [Mon, 17 Jul 2023 09:48:50 +0000 (11:48 +0200)] 
basic/memfd: drop test for F_SEAL_SEAL

With `F_SEAL_SEAL` a memfd can disable further sealing operations,
effectively sealing the set of seals. Testing for it ensures that no
further seals can be added, it never prevents seals from being dropped,
since seals cannot be dropped, ever.

Now testing for `F_SEAL_SEAL` makes sense if you want to ensure that
some seals are *not* set. That is, you either test for the entire set of
seals to match a local set, or you verify that a specific seal is not
set. Neither is what we are doing, so it feels wrong requiring it to be
set.

By dropping the requirement for `F_SEAL_SEAL`, the same FD can be shared
with other entities while retaining the ability to further restrict the
set of seals later on (e.g., being able to mark a region as executable
later on, and then adding `F_SEAL_EXEC`).

2 years agoMerge pull request #28556 from DaanDeMeyer/repart
Daan De Meyer [Tue, 1 Aug 2023 07:59:38 +0000 (09:59 +0200)] 
Merge pull request #28556 from DaanDeMeyer/repart

repart: Allow combining CopyBlocks= and CopyFiles=

2 years agomeson: move declarations of cgroups-agent, id128, volatile-root, and path 28611/head
Yu Watanabe [Sun, 25 Jun 2023 07:34:27 +0000 (16:34 +0900)] 
meson: move declarations of cgroups-agent, id128, volatile-root, and path

2 years agomeson: move declarations of delta, escape, notify, creds, and battery-check
Yu Watanabe [Sun, 25 Jun 2023 07:31:06 +0000 (16:31 +0900)] 
meson: move declarations of delta, escape, notify, creds, and battery-check

2 years agomeson: move declarations of ac-power, detect-virt, sysctl, and sleep
Yu Watanabe [Sun, 25 Jun 2023 07:28:21 +0000 (16:28 +0900)] 
meson: move declarations of ac-power, detect-virt, sysctl, and sleep

2 years agomeson: move declarations of repart and friends
Yu Watanabe [Sun, 25 Jun 2023 07:23:40 +0000 (16:23 +0900)] 
meson: move declarations of repart and friends

2 years agomeson: move declarations of fsck, firstboot, machine-id-setup, and remount-fs
Yu Watanabe [Sun, 25 Jun 2023 07:21:17 +0000 (16:21 +0900)] 
meson: move declarations of fsck, firstboot, machine-id-setup, and remount-fs

2 years agomeson: move declarations of random-seed, vconsole, and sysupdate
Yu Watanabe [Sun, 25 Jun 2023 07:11:55 +0000 (16:11 +0900)] 
meson: move declarations of random-seed, vconsole, and sysupdate

2 years agomeson: move declarations of pstore, oomd, and binfmt
Yu Watanabe [Sun, 25 Jun 2023 07:10:00 +0000 (16:10 +0900)] 
meson: move declarations of pstore, oomd, and binfmt

2 years agomeson: move declarations of coredumpd and friends
Yu Watanabe [Sun, 25 Jun 2023 07:07:31 +0000 (16:07 +0900)] 
meson: move declarations of coredumpd and friends

2 years agomeson: move declarations of journal-remote and friends
Yu Watanabe [Sun, 25 Jun 2023 07:06:20 +0000 (16:06 +0900)] 
meson: move declarations of journal-remote and friends

2 years agomeson: move declarations of machined and friends
Yu Watanabe [Sun, 25 Jun 2023 07:05:38 +0000 (16:05 +0900)] 
meson: move declarations of machined and friends

2 years agodocs: fix typo
Yu Watanabe [Tue, 1 Aug 2023 06:53:32 +0000 (15:53 +0900)] 
docs: fix typo

2 years agoMerge pull request #28608 from yuwata/meson-use-template
Daan De Meyer [Tue, 1 Aug 2023 06:09:10 +0000 (08:09 +0200)] 
Merge pull request #28608 from yuwata/meson-use-template

meson: use template (part 3)

2 years agounits: Import all repart credentials in systemd-repart.service 28556/head
Daan De Meyer [Fri, 28 Jul 2023 21:19:58 +0000 (23:19 +0200)] 
units: Import all repart credentials in systemd-repart.service

2 years agorepart: Add --oem and OEM=
Daan De Meyer [Fri, 28 Jul 2023 20:17:35 +0000 (22:17 +0200)] 
repart: Add --oem and OEM=

--oem can be used to only install OEM partitions (usr, verity,
verity-sig, ...). OEM= is used to indicate OEM partitions. If unset,
defaults to !FactoryReset. We also add a credential repart.oem to
allow configuring --oem via a credential.

2 years agocreds-util: Add read_credential_bool()
Daan De Meyer [Fri, 28 Jul 2023 20:17:20 +0000 (22:17 +0200)] 
creds-util: Add read_credential_bool()

2 years agorepart: Allow combining CopyBlocks= and CopyFiles=
Daan De Meyer [Fri, 28 Jul 2023 16:09:29 +0000 (18:09 +0200)] 
repart: Allow combining CopyBlocks= and CopyFiles=

Let's allow the combination of these two options. When used, repart
will first try to apply the CopyBlocks= behavior. If that's not possible,
it falls back to the CopyFiles= behavior.

This is a first step in being able to also use the partition definition
files shipped in the image to build the image in mkosi instead of having
a separate set of repart definition files to build the image.

2 years agorepart: Open files in context_minimize()
Daan De Meyer [Fri, 28 Jul 2023 15:44:03 +0000 (17:44 +0200)] 
repart: Open files in context_minimize()

Instead of relying on context_open_copy_blocks_paths() to do the
opening, let's just do it in context_minimize() itself as it's trivial.

2 years agoudev-builtin-net_id: split-out pci_get_onboard_index() from dev_pci_onboard() 28609/head
Yu Watanabe [Mon, 31 Jul 2023 19:18:52 +0000 (04:18 +0900)] 
udev-builtin-net_id: split-out pci_get_onboard_index() from dev_pci_onboard()

This also changes the onboard index type to unsigned, as it is at most
2^16 - 1. Hence, unsigned is enough.

Then, we can use device_get_sysattr_unsigned() helper function.

This also drops mostly redundant debugging logs. The index will be
logged later anyway.

2 years agoudev-builtin-net_id: split-out get_pci_slot_specifiers()
Yu Watanabe [Tue, 1 Aug 2023 00:58:56 +0000 (09:58 +0900)] 
udev-builtin-net_id: split-out get_pci_slot_specifiers()

Then, we can replace multiple strpcpyf() with single snprintf_ok().

No functional change, just refactoring.

2 years agoudev-builtin-net_id: introduce get_port_specifier() helper function
Yu Watanabe [Mon, 31 Jul 2023 20:02:19 +0000 (05:02 +0900)] 
udev-builtin-net_id: introduce get_port_specifier() helper function

To make the port specifier unified.
No functional change, just refactoring.

2 years agoudev-builtin-net_id: split out get_dev_port() and make its failure critical
Yu Watanabe [Thu, 22 Sep 2022 06:53:35 +0000 (15:53 +0900)] 
udev-builtin-net_id: split out get_dev_port() and make its failure critical

As dev_port and dev_id sysfs attributes are fundamental properties for
network interfaces. Hence, it should not fail.

Also, the type of dev_port is changed to unsigned. The kernel internally
uses 'unsigned short' for dev_port and dev_id. Hence, unsigned (that is,
32 bits) is still overkill, but should be enough.