]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agorepart: Report better errors if partition sizes are too small 26855/head
Daan De Meyer [Thu, 16 Mar 2023 22:15:19 +0000 (23:15 +0100)] 
repart: Report better errors if partition sizes are too small

2 years agorepart: Zero full verity signature partition size
Daan De Meyer [Thu, 16 Mar 2023 21:11:31 +0000 (22:11 +0100)] 
repart: Zero full verity signature partition size

systemd-dissect requires the entirety of the partition following the
signature to be zeroed, so let's do just that.

2 years agorepart: Make sure we seek to beginning of partition target before copy
Daan De Meyer [Thu, 16 Mar 2023 21:10:50 +0000 (22:10 +0100)] 
repart: Make sure we seek to beginning of partition target before copy

2 years agomkosi: Use default timeout of 10s
Daan De Meyer [Thu, 16 Mar 2023 11:12:38 +0000 (12:12 +0100)] 
mkosi: Use default timeout of 10s

Let's override the default timeout to something more reasonable for
mkosi builds.

2 years agotest: wrap mkfs.*/mksquashfs/mkswap binaries when running w/ ASan
Frantisek Sumsal [Thu, 16 Mar 2023 10:42:12 +0000 (11:42 +0100)] 
test: wrap mkfs.*/mksquashfs/mkswap binaries when running w/ ASan

2 years agodoc: update ELF_PACKAGE_METADATA to use linker flag instead of manual script
Luca Boccassi [Thu, 16 Mar 2023 00:17:50 +0000 (00:17 +0000)] 
doc: update ELF_PACKAGE_METADATA to use linker flag instead of manual script

bfd/gold/mold/lld support this flag, so document it explicitly, and drop the
manually written linker script which is no longer necessary

2 years agosd-journal: fix segfault
Yu Watanabe [Wed, 15 Mar 2023 06:12:41 +0000 (15:12 +0900)] 
sd-journal: fix segfault

Unfortunately, journal_file_next_entry() returns 0 when the next entry
not found. The commit cc938e4a0ab67707e489cc3970a8557ad89801ca adds
FIXME comment about that. We should really fix that, but the function and
its return value are used in many place, hence checking all usecases is not
easy. So, let's workaround that here, and handle the 0 return value by
the caller.

Follow-up for 34af74946e8853411f18120007ebaca6549b2a52.

Fixes #26822.

2 years agoMerge pull request #26835 from poettering/userdb-modernizations
Luca Boccassi [Thu, 16 Mar 2023 00:25:01 +0000 (00:25 +0000)] 
Merge pull request #26835 from poettering/userdb-modernizations

various userdbd modernizations

2 years agoupdated usage of SD_BUS_METHOD_WITH_NAMES macros to SD_BUS_METHOD_WIT… (#26840)
OMOJOLA JOSHUA [Wed, 15 Mar 2023 22:52:24 +0000 (23:52 +0100)] 
updated usage of SD_BUS_METHOD_WITH_NAMES macros to SD_BUS_METHOD_WIT… (#26840)

* localed: update usage of SD_BUS_METHOD_WITH_NAMES macros to SD_BUS_METHOD_WITH_ARGS

2 years agogithub: update default and example in template
Yu Watanabe [Wed, 15 Mar 2023 19:12:52 +0000 (04:12 +0900)] 
github: update default and example in template

2 years agoMerge pull request #26771 from YHNdnzj/machinectl-edit
Yu Watanabe [Wed, 15 Mar 2023 19:02:11 +0000 (04:02 +0900)] 
Merge pull request #26771 from YHNdnzj/machinectl-edit

machinectl: add verb edit and cat to operate on .nspawn files

2 years agomanager: fix scope for environment generators
Ludwig Nussel [Wed, 15 Mar 2023 09:20:59 +0000 (10:20 +0100)] 
manager: fix scope for environment generators

fixes regression introduced by 4870133bfa

2 years agotest: fix testsuite-17.10.sh
Dmitry V. Levin [Wed, 15 Mar 2023 08:00:00 +0000 (08:00 +0000)] 
test: fix testsuite-17.10.sh

Make sure /etc/udev/hwdb.d/ exists before creating a file inside it.

Fixes: 95cf8cae77f7 ("test: add coverage test for udevadm")
2 years agoMerge pull request #26831 from YHNdnzj/edit-util-followup
Yu Watanabe [Wed, 15 Mar 2023 18:51:55 +0000 (03:51 +0900)] 
Merge pull request #26831 from YHNdnzj/edit-util-followup

edit-util: follow-ups

2 years agoudev-rules: check for conflicting and duplicate expressions
Dmitry V. Levin [Sun, 12 Mar 2023 08:00:00 +0000 (08:00 +0000)] 
udev-rules: check for conflicting and duplicate expressions

Log an error when a rule line contains conflicting match expressions, e.g.
  NAME=="value", NAME!="value"

Log a warning when a rule line contains duplicate expressions, e.g.
  NAME=="value", NAME=="value"

2 years agoUpdate github issue template to include systemd-dissect
Cornelius Hoffmann [Wed, 15 Mar 2023 15:28:00 +0000 (16:28 +0100)] 
Update github issue template to include systemd-dissect

2 years agouserdbd: make static const what we can make so 26835/head
Lennart Poettering [Wed, 15 Mar 2023 14:48:17 +0000 (15:48 +0100)] 
userdbd: make static const what we can make so

2 years agouserdbd: rework to use sd_event_add_child() instead of manual SIGCHLD
Lennart Poettering [Wed, 15 Mar 2023 14:46:54 +0000 (15:46 +0100)] 
userdbd: rework to use sd_event_add_child() instead of manual SIGCHLD

Let's modernize userdbd furzer, and use the common child handling we
nowadays have in sd-event, instead of rolling our own.

This also means we'll start using pidfds where we can.

2 years agouserdbd: make use of FORK_CLOSE_ALL_FDS + FORK_REOPEN_LOG where we can
Lennart Poettering [Wed, 15 Mar 2023 14:01:11 +0000 (15:01 +0100)] 
userdbd: make use of FORK_CLOSE_ALL_FDS + FORK_REOPEN_LOG where we can

2 years agouserdbd: modernize signal handling
Lennart Poettering [Wed, 15 Mar 2023 13:59:32 +0000 (14:59 +0100)] 
userdbd: modernize signal handling

Let's make use of SD_EVENT_SIGNAL_PROCMASK so that we don't have to mask
the signals manually. Let's use sd_event_set_exit_signal() instead of
rolling our own SIGTERM/SIGINT handling. Let's use "floating" event
sources instead of keeping references on our own.

Let's also debug log if we can't enable watchdog handling.

2 years agoMerge pull request #26784 from DaanDeMeyer/chase-fix
Daan De Meyer [Wed, 15 Mar 2023 14:51:47 +0000 (15:51 +0100)] 
Merge pull request #26784 from DaanDeMeyer/chase-fix

Allow creating files and directories with chase_symlinks_open() and further improvements

2 years agofs-util: Drop unlink_noerrno()
Daan De Meyer [Wed, 15 Mar 2023 10:55:44 +0000 (11:55 +0100)] 
fs-util: Drop unlink_noerrno()

2 years agotest: add testsuite-74.machinectl 26771/head
Mike Yuan [Mon, 13 Mar 2023 12:33:36 +0000 (20:33 +0800)] 
test: add testsuite-74.machinectl

2 years agomachinectl: add verb edit and cat to operate on .nspawn files
Mike Yuan [Sat, 11 Mar 2023 16:56:13 +0000 (00:56 +0800)] 
machinectl: add verb edit and cat to operate on .nspawn files

This allows operating on .nspawn files using machinectl.

Closes #26246

2 years agoedit-util: log unexpected errors if we fail to remove the parent dir 26831/head
Mike Yuan [Wed, 15 Mar 2023 11:38:19 +0000 (19:38 +0800)] 
edit-util: log unexpected errors if we fail to remove the parent dir

2 years agoMerge pull request #26820 from DaanDeMeyer/dir-fd-is-root
Daan De Meyer [Wed, 15 Mar 2023 11:48:14 +0000 (12:48 +0100)] 
Merge pull request #26820 from DaanDeMeyer/dir-fd-is-root

fd-util: Add dir_fd_is_root()

2 years agoedit-util: use path_equal
Mike Yuan [Mon, 13 Mar 2023 02:16:14 +0000 (10:16 +0800)] 
edit-util: use path_equal

2 years agochase-symlinks: Add more assertions 26784/head
Daan De Meyer [Tue, 14 Mar 2023 12:52:50 +0000 (13:52 +0100)] 
chase-symlinks: Add more assertions

Let's turn some runtime errors into assertions and add a few new
assertions.

2 years agochase-symlinks: Rework open() functions and some chase flags
Daan De Meyer [Mon, 13 Mar 2023 15:17:21 +0000 (16:17 +0100)] 
chase-symlinks: Rework open() functions and some chase flags

Currently, when CHASE_PARENT is specified, we chase the parent directory
of the symlink itself. Let's change this and chase the parent directory
of the symlink target so that trying to open the actual file later with
O_NOFOLLOW doesn't fail with ELOOP.

To get the current behavior, callers can add CHASE_NOFOLLOW to chase
the parent directory of the symlink itself.

Currently, when CHASE_MKDIR_0755 is specified, we create all components
of the path as directories. Instead, let's change the flag to only create
parent directories and leave the final component of the PATH untouched.
Also, allow CHASE_NONEXISTENT with CHASE_MKDIR_0755 now that it doesn't
create all components anymore.

Finally, rework chase_symlinks_and_open() and chase_symlinkat_at_and_open()
to always chase the parent directory and use xopenat() to open the final
component of the path. This allows us to pass O_CREAT to create the file or
directory (O_DIRECTORY) if it is missing. If CHASE_PARENT is configured, we
just reopen the parent directory that we chased.

2 years agoAdd rebrands of Medion Akoya notebooks/tablets
bri [Sat, 11 Mar 2023 22:38:35 +0000 (17:38 -0500)] 
Add rebrands of Medion Akoya notebooks/tablets

2 years agoMerge pull request #26804 from fbuihuu/fixes-for-test-58-repart
Luca Boccassi [Wed, 15 Mar 2023 10:56:07 +0000 (10:56 +0000)] 
Merge pull request #26804 from fbuihuu/fixes-for-test-58-repart

Fixes for test 58 repart

2 years agofd-util: Add dir_fd_is_root() 26820/head
Daan De Meyer [Wed, 1 Feb 2023 12:14:29 +0000 (13:14 +0100)] 
fd-util: Add dir_fd_is_root()

2 years agomountpoint-util: Add path_get_mnt_id_at()
Daan De Meyer [Tue, 14 Mar 2023 21:00:11 +0000 (22:00 +0100)] 
mountpoint-util: Add path_get_mnt_id_at()

2 years agoMerge pull request #26825 from keszybz/log-message-fix
Luca Boccassi [Wed, 15 Mar 2023 10:49:35 +0000 (10:49 +0000)] 
Merge pull request #26825 from keszybz/log-message-fix

Log message fix

2 years agocore: fix "(null)" in output 26825/head
Zbigniew Jędrzejewski-Szmek [Tue, 14 Mar 2023 21:56:42 +0000 (22:56 +0100)] 
core: fix "(null)" in output

We want an empty string, not NULL. I made some brainfart here.
Fixup for 1980a25dc03aa500d4ee2725d696f68d265cd4ca.

2 years agocore: reduce scope of variable
Zbigniew Jędrzejewski-Szmek [Tue, 14 Mar 2023 15:52:18 +0000 (16:52 +0100)] 
core: reduce scope of variable

2 years agoMerge pull request #26800 from t-8ch/memfd_create
Lennart Poettering [Wed, 15 Mar 2023 08:28:09 +0000 (09:28 +0100)] 
Merge pull request #26800 from t-8ch/memfd_create

memfd: add support for exec flags

2 years agoMerge pull request #26794 from bluca/log_extra_fields
Lennart Poettering [Wed, 15 Mar 2023 08:27:47 +0000 (09:27 +0100)] 
Merge pull request #26794 from bluca/log_extra_fields

core: append LogExtraFields= values to log_unit* messages

2 years agocore: make the memory pressure cgroup path writable when ProtectControlGroups=yes
Luca Boccassi [Tue, 14 Mar 2023 20:12:33 +0000 (20:12 +0000)] 
core: make the memory pressure cgroup path writable when ProtectControlGroups=yes

The interface requires services to write to the cgroup file to activate notifications,
but with ProtectControlGroups=yes we make it read-only. Add a writable bind mount.

Follow-up for 6bb0084204bd93122c9f04391b80aea5a8a0ff08

2 years agotest: assume run-unit-tests.py and unit tests are installed in the same directory
Franck Bui [Thu, 26 Jan 2023 15:14:01 +0000 (16:14 +0100)] 
test: assume run-unit-tests.py and unit tests are installed in the same directory

This avoids hard coding the path of the directory where the unit tests are
installed.

2 years agotreewide: memfd_create: use exec flags 26800/head
Thomas Weißschuh [Tue, 14 Mar 2023 03:42:23 +0000 (03:42 +0000)] 
treewide: memfd_create: use exec flags

Use the flags MEMFD_EXEC or MEMFD_NOEXEC_SEAL as applicable.

These warnings instruct the kernel wether the memfd is executable or
not.

Without specifying those flags the kernel will emit the following
warning since version 6.3,
commit 105ff5339f49 ("mm/memfd: add MFD_NOEXEC_SEAL and MFD_EXEC"):

    kernel: memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=1 'systemd'

2 years agomemfd-util: add wrapper for memfd_create
Thomas Weißschuh [Tue, 14 Mar 2023 03:42:05 +0000 (03:42 +0000)] 
memfd-util: add wrapper for memfd_create

The wrapper removes the flags MFD_EXEC and MFD_NOEXEC_SEAL when running
on kernels not understanding those flags.

2 years agomissing: add memfd exec flags
Thomas Weißschuh [Mon, 13 Mar 2023 14:14:21 +0000 (14:14 +0000)] 
missing: add memfd exec flags

2 years agostub: Remove overlapping PE section warning
Jan Janssen [Tue, 14 Mar 2023 13:32:43 +0000 (14:32 +0100)] 
stub: Remove overlapping PE section warning

Now that we always create PE images with a non-zero image base we cannot
run into this issue anymore. Any tool that still uses the old hard-coded
section offsets will end up creating bad images with sections below the
image base. objcopy will warn about this and any PE loader will simply
refuse to load such an image. Meanwhile updated tools do not use
hard-coded offsets anymore.

2 years agoMerge pull request #26815 from keszybz/cgls-no-xattrs-by-default
Luca Boccassi [Wed, 15 Mar 2023 00:24:02 +0000 (00:24 +0000)] 
Merge pull request #26815 from keszybz/cgls-no-xattrs-by-default

Do not show xattrs and cgroup ids in cgls by default

2 years agoMerge pull request #26808 from keszybz/no-controllers-followup
Luca Boccassi [Wed, 15 Mar 2023 00:23:05 +0000 (00:23 +0000)] 
Merge pull request #26808 from keszybz/no-controllers-followup

Docs and dump output follow-up for the case of delegation with no controllers

2 years agomkfs-util: Redirect mksquashfs output to /dev/null
Daan De Meyer [Tue, 14 Mar 2023 13:32:37 +0000 (14:32 +0100)] 
mkfs-util: Redirect mksquashfs output to /dev/null

The -quiet option for mksquashfs was added somewhat recently so to
support older versions, let's redirect stdout of mksquashfs to
/dev/null instead.

2 years agoMerge pull request #26683 from YHNdnzj/systemctl-shutdown-when
Luca Boccassi [Wed, 15 Mar 2023 00:19:50 +0000 (00:19 +0000)] 
Merge pull request #26683 from YHNdnzj/systemctl-shutdown-when

systemctl: add --when for scheduled poweroff/halt/reboot/kexec support

2 years agosrc: changed instances of sd_bus_call_method() to bus_call_method() (#26819)
OMOJOLA JOSHUA [Wed, 15 Mar 2023 00:12:57 +0000 (01:12 +0100)] 
src: changed instances of sd_bus_call_method() to bus_call_method() (#26819)

* src: changed instances of sd_bus_call_method() to bus_call_method()

2 years agoupdate TODO
Lennart Poettering [Tue, 14 Mar 2023 21:36:14 +0000 (22:36 +0100)] 
update TODO

2 years agodissect: make all paths we operation on absolute
Lennart Poettering [Mon, 13 Mar 2023 12:09:46 +0000 (13:09 +0100)] 
dissect: make all paths we operation on absolute

Let's avoid any ambiguities around paths, and make them absolute when
accepting them, like we do in most our tools now. This makes us
independent of the current working directory and allows us to change it
without issues or pass around the paths elsewhere if need be.

2 years agocore: fix mount flag help output, it only takes one argument
Lennart Poettering [Tue, 14 Mar 2023 10:03:48 +0000 (11:03 +0100)] 
core: fix mount flag help output, it only takes one argument

2 years agodissect: mark UID/GIDs that are surprising in DDIs with colors
Lennart Poettering [Tue, 14 Mar 2023 10:04:46 +0000 (11:04 +0100)] 
dissect: mark UID/GIDs that are surprising in DDIs with colors

DDIs should not contain files owned by dynamic users or the nobody
users. Let's subtly highlight those entries in mtree output.

2 years agocgls: add -x and -c options 26815/head
Zbigniew Jędrzejewski-Szmek [Tue, 14 Mar 2023 16:58:08 +0000 (17:58 +0100)] 
cgls: add -x and -c options

-x is short for --xattrs=yes and
-c is short for --cgroup-id=yes.

2 years agocgls: stop showing cgroup ids and xattrs by default
Zbigniew Jędrzejewski-Szmek [Tue, 14 Mar 2023 16:51:24 +0000 (17:51 +0100)] 
cgls: stop showing cgroup ids and xattrs by default

Those are rather specialized bits of information, useful mostly for debugging.
I use cgls quite often but never had the need to use either of those…
But they take up a significant amount of screen real estate, esp. when
executed as root:

-.slice
├─user.slice (#1683)
│ → user.invocation_id: 74b0bd1258c5485eb969016384e0d06a
│ → trusted.invocation_id: 74b0bd1258c5485eb969016384e0d06a
│ └─user-1000.slice (#6488)
│   → user.invocation_id: b0261a14fe74490d9a9d5266c52cceb6
│   → trusted.invocation_id: b0261a14fe74490d9a9d5266c52cceb6
│   ├─user@1000.service … (#6590)
│   │ → user.invocation_id: 9e1fb54ad07940d8b92c33c81d169f11
│   │ → user.delegate: 1
│   │ → trusted.invocation_id: 9e1fb54ad07940d8b92c33c81d169f11
│   │ → trusted.delegate: 1
│   │ ├─session.slice (#6874)
...

Let's not show them by default, so we can show more cgroups.

(Also, on a terminal, we already highlight delegate units via underlining and
an ellipsis, so 'user.delegate:1' is redundant.)

2 years agocgtop: drop counterproductive bitfields
Zbigniew Jędrzejewski-Szmek [Tue, 14 Mar 2023 16:24:43 +0000 (17:24 +0100)] 
cgtop: drop counterproductive bitfields

The variable after the bitfields has 8 byte alignment, so we weren't saving any
memory, but the code to serve the bitfields was more complicated.

2 years agocgtop: split out the main loop into a separate function
Zbigniew Jędrzejewski-Szmek [Tue, 14 Mar 2023 16:24:07 +0000 (17:24 +0100)] 
cgtop: split out the main loop into a separate function

This way the initial setup is nicely separated from the main loop logic.

2 years agocore: append LogExtraFields= values to log_unit* messages 26794/head
Luca Boccassi [Mon, 13 Mar 2023 21:34:37 +0000 (21:34 +0000)] 
core: append LogExtraFields= values to log_unit* messages

This ensure messages from PID1 regarding a unit also contain those
fields. For example, portable services have PORTABLE=<image> as
extra fields, which is useful to identify which version of a portable
image produced a log message like an error or an oomd kill.

2 years agolog: add iov helpers for log_context
Luca Boccassi [Mon, 13 Mar 2023 21:33:58 +0000 (21:33 +0000)] 
log: add iov helpers for log_context

2 years agochase-symlinks: Remove unused ret_fd arguments
Daan De Meyer [Mon, 13 Mar 2023 20:55:04 +0000 (21:55 +0100)] 
chase-symlinks: Remove unused ret_fd arguments

2 years agomanager: in dump, show no controllers as "(none)" 26808/head
Zbigniew Jędrzejewski-Szmek [Tue, 14 Mar 2023 11:35:33 +0000 (12:35 +0100)] 
manager: in dump, show no controllers as "(none)"

https://github.com/systemd/systemd/commit/7b3693e4e4c9cae50fca65136278a62fae11327e#r103711181

2 years agoman: document "Delegate=" a bit more
Zbigniew Jędrzejewski-Szmek [Tue, 14 Mar 2023 11:27:37 +0000 (12:27 +0100)] 
man: document "Delegate=" a bit more

This case is a bit surprising, even if logical if one understands how the
parser works. Let's be more explicit.

Follow-up for 7b3693e4e4c9cae50fca65136278a62fae11327e.

2 years agotest-time-util: add test cases to invalidate "show" and "cancel" 26683/head
Mike Yuan [Mon, 13 Mar 2023 23:16:18 +0000 (07:16 +0800)] 
test-time-util: add test cases to invalidate "show" and "cancel"

Ensure that systemctl reboot --when=show and --when=cancel will not result in ambiguities

2 years agosystemctl: add option --when for scheduled shutdown
Mike Yuan [Sun, 5 Mar 2023 15:27:44 +0000 (23:27 +0800)] 
systemctl: add option --when for scheduled shutdown

Pass an empty string or "cancel" will cancel the action.
Pass "show" will show the scheduled actions.

Replaces #17258

2 years agosystemctl: logind: make logind_schedule_shutdown accept action as param
Mike Yuan [Sun, 5 Mar 2023 15:11:48 +0000 (23:11 +0800)] 
systemctl: logind: make logind_schedule_shutdown accept action as param

2 years agosystemctl: logind: add missing asserts
Mike Yuan [Mon, 13 Mar 2023 22:56:17 +0000 (06:56 +0800)] 
systemctl: logind: add missing asserts

2 years agoMerge pull request #26662 from yuwata/test-execute-network-namespace-path
Daan De Meyer [Tue, 14 Mar 2023 10:16:15 +0000 (11:16 +0100)] 
Merge pull request #26662 from yuwata/test-execute-network-namespace-path

test-execute: add tests for NetworkNamespacePath=

2 years agotests: don't use absolute paths when installing binaries in TEST-58-REPART 26804/head
Franck Bui [Tue, 14 Mar 2023 09:08:11 +0000 (10:08 +0100)] 
tests: don't use absolute paths when installing binaries in TEST-58-REPART

Let image_install figures the binary paths out itself as not all distributions
ship the mkfs.* tools in the same location. For example openSUSE ships
mksquashfs in /usr/bin/.

2 years agotests: fix inverted condition in testsuite-58.sh
Franck Bui [Tue, 14 Mar 2023 09:06:39 +0000 (10:06 +0100)] 
tests: fix inverted condition in testsuite-58.sh

2 years agochase-symlinks: Fix memory leak
Daan De Meyer [Mon, 13 Mar 2023 16:07:50 +0000 (17:07 +0100)] 
chase-symlinks: Fix memory leak

2 years agofs-util: Add xopenat()
Daan De Meyer [Tue, 14 Mar 2023 08:55:04 +0000 (09:55 +0100)] 
fs-util: Add xopenat()

xopenat() will create directories if O_DIRECTORY and O_CREAT are
specified. Note that this is not an atomic operation.

2 years agohwdb: 60-keyboard.hwdb: Fix modalias for Thinkpad X200 Tablet (#26795)
EinBaum [Tue, 14 Mar 2023 08:41:21 +0000 (10:41 +0200)] 
hwdb: 60-keyboard.hwdb: Fix modalias for Thinkpad X200 Tablet (#26795)

This fixes the tablet buttons on the Thinkpad X200 Tablet.
My Lenovo ThinkPad X200 Tablet is called "ThinkPadX200T" instead of "ThinkPadX200Tablet":
```
$ cat /sys/devices/virtual/dmi/id/modalias
dmi:bvnLENOVO:bvr7WET71WW(3.21):bd11/29/2012:br3.33:efr1.6:svnLENOVO:pn7453WVK:pvrThinkPadX200T:rvnLENOVO:rn7453WVK:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:sku:
```
This patch makes both strings work correctly to support the extra tablet keys.

2 years agotest-process-util: port to detach_mount_namespace()
Lennart Poettering [Mon, 13 Mar 2023 14:22:38 +0000 (15:22 +0100)] 
test-process-util: port to detach_mount_namespace()

2 years agoMerge pull request #26767 from yuwata/udev-rule-rework-logging
Yu Watanabe [Tue, 14 Mar 2023 04:14:49 +0000 (13:14 +0900)] 
Merge pull request #26767 from yuwata/udev-rule-rework-logging

udev-rule: rework logging about udev rules

2 years agopo: Translated using Weblate (Punjabi)
A S Alam [Tue, 14 Mar 2023 02:20:31 +0000 (03:20 +0100)] 
po: Translated using Weblate (Punjabi)

Currently translated at 6.2% (12 of 193 strings)

Co-authored-by: A S Alam <amanpreet.alam@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/pa/
Translation: systemd/main

2 years agonamespace-util: set mounts back to MS_SHARED in detach_mount_namespace()
Lennart Poettering [Mon, 13 Mar 2023 14:16:55 +0000 (15:16 +0100)] 
namespace-util: set mounts back to MS_SHARED in detach_mount_namespace()

For nspawn and services we first turn off two-way propagation of mounts
from host to sandbox via MS_SLAVE, and then set MS_SHARED again, so that
we create a new mount prop peer group again, and that we provide
behaviour similar to what we provide on the host further down the tree.

Let's do the same in detach_mount_namespace(), which we use for the
temporary mounts in the implementation of --image= in various tools.

This doesn't fix any immediate issue, but ensures we expose somewhat
systematic behaviour: whenever we detach mount namespaces we always set
things back to MS_SLAVE in the child.

2 years agocore: rename "mount_flags" → "mount_propagation_flag" internally where appropriate
Lennart Poettering [Mon, 13 Mar 2023 14:14:11 +0000 (15:14 +0100)] 
core: rename "mount_flags" → "mount_propagation_flag" internally where appropriate

ExecContext has a field that controls the mount propagation flag of the
mounts in the resulting namespace. This is exposed as "MountFlags="
which is super confusing, as it suggests one could control more than
propagation, and that it was actually a flags field. It's an enum
though only, and nothing else.

We might want to rename this externally one day, but given the compat
kludges this requires and the fact this is somewhat nichey it might not
be worth it. But internally let's rename it, as it makes things much
easier to grok, in particular as part of the codebase already exposed
the concept as mount_propagation_flag.

No actual code flow changes, just some renaming.

2 years agonamespace: use ERRNO_IS_PRIVILEGE()/ERRNO_IS_NOT_SUPPORTED() where appropriate
Lennart Poettering [Mon, 13 Mar 2023 14:19:56 +0000 (15:19 +0100)] 
namespace: use ERRNO_IS_PRIVILEGE()/ERRNO_IS_NOT_SUPPORTED() where appropriate

2 years agotest: testsuite-26: remove duplicate source
Mike Yuan [Mon, 13 Mar 2023 18:01:43 +0000 (02:01 +0800)] 
test: testsuite-26: remove duplicate source

2 years agouserbd: manager doesn't actually use varlink, only workers do
Lennart Poettering [Tue, 7 Mar 2023 21:51:23 +0000 (22:51 +0100)] 
userbd: manager doesn't actually use varlink, only workers do

2 years agoman: add missing tags in udevadm(8)
Yu Watanabe [Mon, 13 Mar 2023 17:53:09 +0000 (02:53 +0900)] 
man: add missing tags in udevadm(8)

2 years agoexecute: use prctl(PR_SET_MDWE) for MemoryDenyWriteExecute=yes
Topi Miettinen [Sun, 6 Nov 2022 19:12:45 +0000 (21:12 +0200)] 
execute: use prctl(PR_SET_MDWE) for MemoryDenyWriteExecute=yes

On some ARM platforms, the dynamic linker could use PROT_BTI memory protection
flag with `mprotect(..., PROT_BTI | PROT_EXEC)` to enable additional memory
protection for executable pages. But `MemoryDenyWriteExecute=yes` blocks this
with seccomp filter denying all `mprotect(..., x | PROT_EXEC)`.

Newly preferred method is to use prctl(PR_SET_MDWE) on supported kernels. Then
in-kernel implementation can allow PROT_BTI as necessary, without weakening
MDWE. In-kernel version may also be extended to more sophisticated protections
in the future.

2 years agoMerge pull request #26749 from DaanDeMeyer/more-cleanups
Yu Watanabe [Mon, 13 Mar 2023 18:34:37 +0000 (03:34 +0900)] 
Merge pull request #26749 from DaanDeMeyer/more-cleanups

execute: Some modernizations

2 years agoconf: replace config_parse_many_nulstr() with config_parse_config_file()
Franck Bui [Fri, 27 Jan 2023 10:32:27 +0000 (11:32 +0100)] 
conf: replace config_parse_many_nulstr() with config_parse_config_file()

All daemons use a similar scheme to read their main config files and theirs
drop-ins. The main config files are always stored in /etc/systemd directory and
it's easy enough to construct the name of the drop-in directories based on the
name of the main config file.

Hence the new helper does that internally, which allows to reduce and simplify
the args passed previously to config_parse_many_nulstr().

Besides the overall code simplification it results:

  16 files changed, 87 insertions(+), 159 deletions(-)

it allows to identify clearly the locations in the code where configuration
files are parsed.

2 years agoMerge pull request #26781 from mrc0mmand/tests-again
Yu Watanabe [Mon, 13 Mar 2023 18:27:45 +0000 (03:27 +0900)] 
Merge pull request #26781 from mrc0mmand/tests-again

test: add a couple of tests for systemd-path

2 years agohwdb: update 70-mouse.hwdb (#26782)
tofylion [Mon, 13 Mar 2023 18:27:02 +0000 (18:27 +0000)] 
hwdb: update 70-mouse.hwdb (#26782)

Add Logitech G502 X wired and wireless configurations with correct pid and vid.

2 years agonetwork: ipv4acd: update MAC address on change (#26753)
Brett Holman [Mon, 13 Mar 2023 15:21:30 +0000 (09:21 -0600)] 
network: ipv4acd: update MAC address on change (#26753)

Commit 76a86ffdbee2dd9ef0f2b5338e14eb6ba7671456 added function
ipv4acd_update_mac() but invoked ipv4ll_update_mac(), which doesn't
align with debug or commit messages.

2 years agoman: Fix user generator output paths
Daan De Meyer [Mon, 13 Mar 2023 10:26:06 +0000 (11:26 +0100)] 
man: Fix user generator output paths

These are all under $XDG_RUNTIME_DIR/systemd instead of directly
under $XDG_RUNTIME_DIR.

2 years agoudevadm-verify: fix indentation of help message 26767/head
Yu Watanabe [Mon, 13 Mar 2023 12:30:44 +0000 (21:30 +0900)] 
udevadm-verify: fix indentation of help message

2 years agoudevadm: enable colorized logging
Yu Watanabe [Mon, 13 Mar 2023 12:20:29 +0000 (21:20 +0900)] 
udevadm: enable colorized logging

2 years agoudev-rules: inline rule_line_append_token()
Yu Watanabe [Mon, 13 Mar 2023 10:31:40 +0000 (19:31 +0900)] 
udev-rules: inline rule_line_append_token()

2 years agoudev-rules: modernize free functions
Yu Watanabe [Mon, 13 Mar 2023 10:31:20 +0000 (19:31 +0900)] 
udev-rules: modernize free functions

2 years agoudev-rules: do not set 'issues' tag when applying rules to event device
Yu Watanabe [Mon, 13 Mar 2023 11:43:27 +0000 (20:43 +0900)] 
udev-rules: do not set 'issues' tag when applying rules to event device

The tagging is used by `udevadm verify` and the command only parses
udev rules but not apply them.

2 years agoudev-rules: introduce log_event_truncated() helper function
Yu Watanabe [Mon, 13 Mar 2023 12:10:49 +0000 (21:10 +0900)] 
udev-rules: introduce log_event_truncated() helper function

2 years agoudev-rule: rework logging about udev rules
Yu Watanabe [Mon, 13 Mar 2023 11:57:50 +0000 (20:57 +0900)] 
udev-rule: rework logging about udev rules

This makes the loggers take the most relevant object, i.e. when
applying udev rules to a device, the loggers take sd_device and
UdevRuleToken object, and when parsing udev rules, they take
UdevRuleLine or UdevRuleFile object.

To achieve that, this drops 'iterators' in UdevRules or friends named
`current_file` or so. Instead of that, each object now has its
parent object, e.g. UdevRuleToken.rule_line that references the
UdevRuleLine object the token belonging to. And each function previously
took UdevRules object now takes the most relevant object, e.g. UdevRuleToken.

Solves the discussion in https://github.com/systemd/systemd/pull/26698#discussion_r1129261193.

2 years agonamespace: Modernize shareable namespace functions 26749/head
Daan De Meyer [Wed, 8 Mar 2023 14:30:19 +0000 (15:30 +0100)] 
namespace: Modernize shareable namespace functions

2 years agodynamic-user: Revert back to using POSIX locks
Daan De Meyer [Mon, 13 Mar 2023 12:05:19 +0000 (13:05 +0100)] 
dynamic-user: Revert back to using POSIX locks

unposix locks are shared between child and parent after fork() which
is precisely what we don't want in this case so revert back to POSIX
locks which are not shared between parent and child.

2 years agolock-util: Add posix_lock()
Daan De Meyer [Mon, 13 Mar 2023 12:03:32 +0000 (13:03 +0100)] 
lock-util: Add posix_lock()

POSIX locks with the same interface as flock().

2 years agoexecute: Use log_unit_error_errno() instead of log_error_errno()
Daan De Meyer [Fri, 10 Mar 2023 11:25:42 +0000 (12:25 +0100)] 
execute: Use log_unit_error_errno() instead of log_error_errno()

2 years agosystemctl: refuse to acquire dbus connection with --global
Yu Watanabe [Sat, 11 Mar 2023 08:03:37 +0000 (17:03 +0900)] 
systemctl: refuse to acquire dbus connection with --global

Maybe, better to check the runtime scope each verb for better log
message, but this is a good start point to not trigger assertion.

Fixes oss-fuzz#56915 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56915).

Fixes #26402 and #26754.