platform/upstream/systemd.git
3 months agotizen: Description : Added the local PATH to a shell script.
wchang kim [Thu, 29 Sep 2016 22:17:55 +0000 (07:17 +0900)]
tizen: Description : Added the local PATH to a shell script.

Adding the local PATH into 50-systemd-user.sh

Change-Id: Ic466577a5db001d99a41410c950220cb49f3d55e
Signed-off-by: Woochang Kim <wchang.kim@samsung.com>
3 months agotizen: Description : Fixed the security hole.
wchang kim [Wed, 28 Sep 2016 09:05:28 +0000 (18:05 +0900)]
tizen: Description : Fixed the security hole.

In case of "systemctl --user enable <path>", a application can insert
the malicious user service.

So systemctl can only enable the service with service name.

Change-Id: I570f45985516ee3636720f36787080590e6f90ef
Signed-off-by: Woochang Kim <wchang.kim@samsung.com>
3 months agotizen: Watchdog : support to change timeout to USEC_INFINITY (disable timeout)
Kunhoon Baik [Thu, 1 Sep 2016 07:01:12 +0000 (16:01 +0900)]
tizen: Watchdog : support to change timeout to USEC_INFINITY (disable timeout)

Change-Id: I459471c2d210eb31c22a17e0e45653b3de04233a

3 months agotizen: Patch for unlimited timeout for User Session
Kunhoon Baik [Wed, 17 Aug 2016 12:25:55 +0000 (21:25 +0900)]
tizen: Patch for unlimited timeout for User Session

This patch should be used for specific purpose of Tizen

Change-Id: Ida7448da300b0c4cf9a5189c6f8903a2e8729df3

3 months agotizen: Set SmackProcessLabel to System::Privileged in selected units
jin-gyu.kim [Wed, 20 Jul 2016 11:28:15 +0000 (20:28 +0900)]
tizen: Set SmackProcessLabel to System::Privileged in selected units

The following commits were squashed:
    - I37c3c1ee8152f82bf45b50f6e81f7986b62547c1
    - Icd1e8c7794236670575df68d1fe35c35584f24f2
    - If9f30e57050f01004c56b85235ad50d49710ac53

--8<-------------------------------------------------------->8---

Set SmackProcessLabel to System::Privileged in selected units

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
--8<-------------------------------------------------------->8---

logind: add SmackProcessLabel=System::Privileged to user-runtime-dir@.service

To change smack label /run/user/5001/system_share to "*", we need System::Privileged.

--8<-------------------------------------------------------->8---

tizen: Change the SMACK label for systemd in the user session

Change the SMACK label for systemd in the user session to
System::Privileged to avoid problems with handling
org.freedesktop.systemd1.Manager.GetUnitByPID method.

--8<-------------------------------------------------------->8---

Author: INSUN PYO <insun.pyo@samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
3 months agotizen: Disable Online KMSG logging
Kunhoon Baik [Thu, 30 Jun 2016 12:22:10 +0000 (21:22 +0900)]
tizen: Disable Online KMSG logging

This is Unavoidable Patch for me - This is quick patch for internal issue.
If you have a question for this patch, contact to hyeongsik.min and jinmin

Change-Id: Ie21692ea85ee2e7fbfa0265f9e606b204d27a558

3 months agotizen: Add smack label(*) to loop device for security policy
wchang kim [Wed, 29 Jun 2016 23:38:55 +0000 (08:38 +0900)]
tizen: Add smack label(*) to loop device for security policy

Add smack label(*) to loop device for security policy

Change-Id: If9271c209b05f73c20c66f7e30a7d18e070c2b4a
Signed-off-by: Woochang Kim <wchang.kim@samsung.com>
3 months agotizen: Set PATH in local script for security policy
wchang kim [Wed, 29 Jun 2016 00:18:37 +0000 (09:18 +0900)]
tizen: Set PATH in local script for security policy

Set PATH in local script for security

Change-Id: If1f6163bdd936222e103822ee01d4c9a7e886a72
Signed-off-by: Woochang Kim <wchang.kim@samsung.com>
3 months agotizen: For using persistent storage in AUTO mode.
Kunhoon Baik [Tue, 7 Jun 2016 13:51:38 +0000 (22:51 +0900)]
tizen: For using persistent storage in AUTO mode.

As Tizen default, /opt is mounted seperately, and the /var -> /opt/var
Thus, systemd flush should be done after mounting /opt.

In generic, I think that systemd-journal-flush should be done after local-fs.target
because several devices have own partition policies.

Change-Id: I4acb4bd26365681ea798441c2f154b8ba5422665
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
3 months agotizen: Run the serial-getty (Open the serial console) eariler for debugging convenience.
Kunhoon Baik [Sat, 26 Mar 2016 07:31:34 +0000 (16:31 +0900)]
tizen: Run the serial-getty (Open the serial console) eariler for debugging convenience.

Change-Id: I239977c2872ed219bf2591a80c1153eeba4cdc89

3 months agotizen: cg_get_root_path: Return default root path if it's not accessible due to insuf...
Karol Lewandowski [Wed, 21 Oct 2015 16:24:14 +0000 (18:24 +0200)]
tizen: cg_get_root_path: Return default root path if it's not accessible due to insufficient permission

This commit provides default value ("/") for root path in case where
/proc/1/cgroup is not readable due to insufficient permission (eg. in
MAC system).

Inability to read root cgroup path leads to failure in determining
instance type being used (system, user), eg.

  user@localhost:~$ /usr/lib/systemd/user-generators/systemd-dbus1-generator
  [13087.175648] audit: type=1400 audit(946701489.290:1463): lsm=SMACK fn=smack_inode_permission action=denied subject="User" object="System" requested=r pid=14081 comm="systemd-dbus1-g" name="cgroup" dev="proc" ino=11149
  Failed to determine whether we are running as user or system instance: Permission denied

  strace:  open("/proc/1/cgroup", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 EACCES (Permission denied)

Change-Id: I60a17ad05b8b49cd1fb1c8aa3ad8f46d34231df3
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
3 months agotizen: units: add 'smackfsroot=*' option into tmp.mount when SMACK is enabled
Sangjung Woo [Wed, 14 Oct 2015 06:38:25 +0000 (15:38 +0900)]
tizen: units: add 'smackfsroot=*' option into tmp.mount when SMACK is enabled

If SMACK is enabled, 'smackfsroot=*' option should be specified in
tmp.mount file since many non-root processes use /tmp for temporary
usage. If not, /tmp is labeled as '_' and smack denial occurs when
writing.

Note: The original commit has been dropped upstream and replaced with
SmackFileSystemRoot  option later renamed to SmackFileSystemRootLabel.
Alas the option didn't work properly and has been dropped too.

Change-Id: I11df1ad555f376eaf0588d35e91789c9e2b07f8d
Origin: https://github.com/systemd/systemd/commit/409c2a13fd65692c6
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
3 months agotizen: Tune of swap
Michael I Doherty [Tue, 23 Jul 2013 13:12:50 +0000 (14:12 +0100)]
tizen: Tune of swap

Allow swap to be activated concurrently with sysinit target

Change-Id: I56aef31809e50ae6c4b10174c0f3b144f72b9746

3 months agotizen: Add pam_systemd.so to systemd-user
Łukasz Stelmach [Wed, 29 Oct 2014 11:25:32 +0000 (12:25 +0100)]
tizen: Add pam_systemd.so to systemd-user

+ Add pam_systemd.so to /etc/pam.d/systemd-user

Change-Id: I87e9b5514f2cc77c37bc40aac4f15a4c741ee4e4
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
3 months agotizen: Add 55-udev-smack-default.rules
Michael Demeter [Fri, 11 Oct 2013 22:37:57 +0000 (15:37 -0700)]
tizen: Add 55-udev-smack-default.rules

The following commits were squashed
    - Iebe2e349cbedb3013abdf32edb55e9310f1d17f5
    - Ia41c0f7d8d4d98e34b4260cd9a8a55d99c5a33a7
    - I61c7a3bb1098406172e5ed289cc0510b02794ea5
    - Ie955499c4a0bf1581cd64244cb94acfa6279719d
    - I706f14f7e8d767b0d7904a08e793f424c47e001b
    - I8174ccd81aa3970a76a6f3680234dae77d920429
    - Ie3c7d4e908a077064cb4d5ba5e4e082a7409da64

--8<-------------------------------------------------------->8---

tizen-smack: Handling of /dev

Smack enabled systems need /dev special devices correctly labeled

- Add Check for smack in rules.d/meson.build to include smack default rules
- Add smack default rules to label /dev/xxx correctly for access

--8<-------------------------------------------------------->8---

tizen-smack: label sound devices with *

--8<-------------------------------------------------------->8---

55-udev-smack-default.rules: add group rw permission to input nodes

--8<-------------------------------------------------------->8---

tizen: Change the permission of /dev/kmsg to "root:log 660 *"

Through this patch, /usr/bin/dlog_logger (log:log) can access /dev/kmsg
without root credentials.

--8<-------------------------------------------------------->8---

Change smack label of /dev/full from '_' to '*'

--8<-------------------------------------------------------->8---

Apply priv_keygrab:r ACL rule to /dev/input

--8<-------------------------------------------------------->8---

Add SECLABEL for /dev/net/tun

Change smack label of /dev/net/tun to *

--8<-------------------------------------------------------->8---

Author: Michael Demeter <michael.demeter@intel.com>
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Signed-off-by: Cheoleun Moon <chleun.moon@samsung.com>
5 months agotizen: Temporarily disable Smack for POSIX shared memory
Rafal Krypa [Wed, 2 Sep 2015 13:27:50 +0000 (15:27 +0200)]
tizen: Temporarily disable Smack for POSIX shared memory

Mount /dev/shm directory, used by glibc for implementation of POSIX shared
memory segments, will now be mounted with System::Run label, transmutable.
This effectively disables any access control by Smack on POSIX SHMs.
Programs running with the same UID and GIDs, but different Smack labels
(i.e. applications, user services) will be able to spy on each others SHM.

This is a temporary workaround for problems with audio architecture not
compliant with Tizen 3.0 security architecture. Applications using pulse
audio try to exchange SHM segments.

This patch is to be reverted in the near future. It is needed for now to
have a working release.

Change-Id: I82fa7b33ad415a5b57d6e2c3e8c6ea642c659ab7
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
5 months agotizen: Handling of /run and /sys/fs/cgroup
Michael Demeter [Fri, 11 Oct 2013 22:37:57 +0000 (15:37 -0700)]
tizen: Handling of /run and /sys/fs/cgroup

Make /run a transmuting directory to enable systemd
communications with services in the User domain.

Change-Id: I9e23b78d17a108d8e56ad85a9e839b6ccbe4feff

5 months agotizen: Add %install_service rpm macro
Anas Nashif [Sun, 9 Dec 2012 17:51:23 +0000 (09:51 -0800)]
tizen: Add %install_service rpm macro

Change-Id: Idc7f5c392c96981d95420b0d747eaf28964b2d02
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
5 months agotizen: Delayed target
INSUN PYO [Fri, 7 Jun 2019 06:30:41 +0000 (15:30 +0900)]
tizen: Delayed target

The following commits were squashed:
    - I0527d1387500c699be0fbc319c702a77d9ae587b
    - I56db28be6f0cecd0562ba8db6bb1d4af0b1a3b7b
    - I2f291ea8b5f535157eec4f105f2c37b0cea448c9
    - I54e51fc3fe563961f18b953215cee41c3bf4510e
    - I2206ada9509d503ac02733d0cb0c1539d932b184
    - I0d87c574086073b28aa52dccca3e760914e2abbd
    - Ibec5e4f4030e26235dbba6610a5142d0e29e423f
    - Ib742d57963db8cfba2a091d4de1562ab0b95fc7a
    - I7602100652f478b3d66fcba215659f39a63694e2
    - I4ad1ff6a8084ed9db7d630f533a9348b41decbf0
    - I8da0c1f224a74d45badd82f2ac1dda13cb8febbb
    - Ifacc46fcc5c7ec7bb52f9b4f47ed5ea98aa5fd5a
    - I6e2189c2cd0d4a86db995651b43a4dcdc25fcabf
    - I581c5dbcf216806dfcff826bbdf7ca82dc944676
    - Ic17dd0559544c323dedfe7c9b5ad13d01bc65588

--8<-------------------------------------------------------->8---

Add delayed target

--8<-------------------------------------------------------->8---

Change the config value of the "RemainAfterExit=" ("true" -> "yes")

--8<-------------------------------------------------------->8---

Rework delayed.target

start delayed.service --> finish default.target --> start all of delayed.service -->
finish delayed.target --> StartupFinished

--8<-------------------------------------------------------->8---

delayed: replace dbus-send with a dedicated program

In release versions there can be no helper programs for sending
any messages over D-Bus. Thus, dbus-send, busctl etc. are removed.

This commit replaces dbus-send use cases with a specialized little
tool, which does what dbus-send did in those cases.

--8<-------------------------------------------------------->8---

Delayed target: check interval is changed from 1 second to 0.2 seconds.

--8<-------------------------------------------------------->8---

Fix delayed.target

Add binary wait-target-done.c for waiting creation of *.done file.

--8<-------------------------------------------------------->8---

Fix wait-target-done.c

1. Change inotify fd to nonblock.
2. Change timeout to use alarm(). And make it encompass
   the whole process, which now includes wd allocation.
3. Add dependency with tlm.service to
   system-delayed-target-trigger.service
4. Add journal log.

--8<-------------------------------------------------------->8---

Add Conflicts=emergency.service in system-delayed-target-trigger.service

--8<-------------------------------------------------------->8---

Restore 'Default Dependendies' to system-default-target-done.service and system-delayed-target-trigger.service

Add 'Requires=sysinit.target' and 'After=sysinit.target basic.target'

Two dependencies prevent those service from running in emergency mode,
because sysinit.target always fails in emergency mode.

--8<-------------------------------------------------------->8---

Delayed target: add delaying the start of delayed.target

If /etc/systemd/delayed-target.conf exists and has DelayedTargetWait environment value,
delayed.target starts after DelayedTargetWait seconds.

If the /tmp/.systemd_delayed_target_wait file is created within the delayed time,
delayed.target starts immediately.

--8<-------------------------------------------------------->8---

Delayed target: add delaying the start of delayed.target #2

Delay time is also applied to user systemd.
System systemd is already applied.

--8<-------------------------------------------------------->8---

delayed: remove unused file

Change-Id: Ifacc46fcc5c7ec7bb52f9b4f47ed5ea98aa5fd5a

--8<-------------------------------------------------------->8---

delayed: rework dealyed service without capability of /usr/bin/touch

VD security remove capability of /usr/bin/touch. (cap_dac_override=ei)

Change permision and group of /run/systemd/system
from 0755/root/root to 0775/root/systemf_fw.

--8<-------------------------------------------------------->8---

Add device_board_set_boot_success in booting-done.service

/usr/bin/device_board_set_boot_success reports boot success to the bootloader.
If boot success is not reported for, e.g., 10-times booting in a row,
bootloader recovers the system.

-- Bootloader --
If (BOOT_SUCCESS flag is set) {
Clear the BOOT_SUCCESS flag
BOOT_FAIL_COUNT = 0
} Else {
If (++ BOOT_FAIL_COUNT > 10) {
BOOT_FAIL_COUNT = 0
Restore to the other partitions (e.g., b -> a)
Proceed to the recovery booting (ramdisk-recovery, bootmode="recovery")
          }
}

Proceed to the normal booting (ramdisk, bootmode="")

--8<-------------------------------------------------------->8---

Run booting-done.service as root:root System

booting-done.service should be privileged to be responsible for
checkpointing booting status not only for normal booting
but also for FOTA and recovery booting.

--8<-------------------------------------------------------->8---

Author: Insun Pyo <insun.pyo@samsung.com>
Author: Adrian Szyndela <adrian.s@samsung.com>
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
5 months agotizen: Serialize and deserialize Capabilities
Łukasz Stelmach [Tue, 23 Apr 2024 08:38:32 +0000 (10:38 +0200)]
tizen: Serialize and deserialize Capabilities

Pass capabilities as configured in service files to systemd-executor. To
avoid using cap_to_text() the text representation of capabilities from
a unit file is preserved in ExecContext.

Change-Id: I9903a741e35ec890747866838747bf5af1fe9f6e
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
5 months agotizen: Revert: "core: drop Capabilities= setting"
Łukasz Stelmach [Thu, 7 Mar 2024 22:22:46 +0000 (23:22 +0100)]
tizen: Revert: "core: drop Capabilities= setting"

This reverts commit 479050b36302a360048c2af5e79683d14ad56fb3

Change-Id: I24367aea159b1decc732b3fbaf448a40e59f2634
Signed-off-by: Woochang Kim <wchang.kim@samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
6 months agoFix _do_log conditions in log_exec_* macros
Łukasz Stelmach [Thu, 25 Apr 2024 14:10:49 +0000 (16:10 +0200)]
Fix _do_log conditions in log_exec_* macros

The expression for calculation of the _do_log values in the log_exec_*
macros need to be the same as the unit_log_level_test() function, used
to calculate _do_log in unit.h. The only difference between execute.h
and unit.h is the lack of the Unit structure.

Change-Id: I14f40cac7b05696e9091fa24fbed314459a737d1
Origin: https://github.com/systemd/systemd/commit/e85be4983d974063b5210e6df77d9109ffbc9932
Fixes: b646fc324a ("core: ensure execute/spawn functions can work without Unit object")
Fixes: 210ca71cb5 ("core/execute: clean up log_exec_full_errno and friends")
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
6 months agocore/execute: clean up log_exec_full_errno and friends
Mike Yuan [Mon, 19 Feb 2024 12:55:51 +0000 (20:55 +0800)]
core/execute: clean up log_exec_full_errno and friends

Also drop unused log_exec_struct_iovec().

Change-Id: I3077b3c05cc7080ea34cdbf408eb72fdc451d1be
Origin: https://github.com/systemd/systemd/commit/210ca71cb5d9f41df3b23eef28d6742bd90a0362
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
6 months agocore/exec-invoke: record correct exit status when failed to locate executable
Mike Yuan [Fri, 16 Feb 2024 12:00:06 +0000 (20:00 +0800)]
core/exec-invoke: record correct exit status when failed to locate executable

Follow-up for 4d8b0f0f7aeadc401ac02f67576ccb1de8cf79e6

After the mentioned commit, when the ExecCommand executable is missing,
and failure will be ignored by manager, we exit with EXIT_SUCCESS at executor
side too. The behavior however contradicts systemd.service(5), which states:

> If the executable path is prefixed with "-", an exit code of the command
> normally considered a failure (i.e. non-zero exit status or abnormal exit
> due to signal is _recorded_, but has no further effect and is considered
> equivalent to success.

and thus makes debugging unexpected failures harder. Therefore, let's still
exit with EXIT_EXEC, but just skip LOG_ERR level log.

Change-Id: Iaa3b66e6f16d5410f94f9bf8b302b710bf611006
Origin: https://github.com/systemd/systemd/commit/80b18d217a0d2ef1f3b6793f8038a40ac0b5f719
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
11 months agoNEWS: finalize for v255 v255
Luca Boccassi [Wed, 6 Dec 2023 20:32:40 +0000 (20:32 +0000)]
NEWS: finalize for v255

11 months agoMerge pull request #30334 from DaanDeMeyer/repart-fixes
Luca Boccassi [Wed, 6 Dec 2023 20:29:04 +0000 (20:29 +0000)]
Merge pull request #30334 from DaanDeMeyer/repart-fixes

repart: Add Minimize=best to --make-ddi= partition definitions

11 months agoREADME: mention Matrix channel
Lennart Poettering [Wed, 6 Dec 2023 18:20:35 +0000 (19:20 +0100)]
README: mention Matrix channel

11 months agoMerge pull request #30341 from bluca/news
Luca Boccassi [Wed, 6 Dec 2023 16:57:29 +0000 (16:57 +0000)]
Merge pull request #30341 from bluca/news

Update hwdb and NEWS

11 months agotest: Add test case for --make-ddi=sysext
Daan De Meyer [Wed, 6 Dec 2023 11:18:32 +0000 (12:18 +0100)]
test: Add test case for --make-ddi=sysext

Also make sure that the sysext is big enough to not fit in the
minimum partition size so we know Minimize= is being used.

11 months agorepart: Add Minimize=best to --make-ddi= partition definitions
Daan De Meyer [Tue, 5 Dec 2023 13:56:15 +0000 (14:56 +0100)]
repart: Add Minimize=best to --make-ddi= partition definitions

Otherwise, repart won't calculate the minimal size of the partition
automatically and things will fail once the partitions exceed the
minimal partition size (10M).

11 months agohwdb: update
Luca Boccassi [Wed, 6 Dec 2023 10:06:50 +0000 (10:06 +0000)]
hwdb: update

ninja -C build update-hwdb

11 months agoNEWS: note that newly introduced tools are experimental
Luca Boccassi [Wed, 6 Dec 2023 10:00:25 +0000 (10:00 +0000)]
NEWS: note that newly introduced tools are experimental

So that we can change interfaces for at least one release if needed

11 months agoNEWS: update contributors list
Luca Boccassi [Wed, 6 Dec 2023 09:57:38 +0000 (09:57 +0000)]
NEWS: update contributors list

11 months agoukify: fix handling of --secureboot-certificate-validity= (#30315)
Roland Singer [Wed, 6 Dec 2023 09:49:47 +0000 (10:49 +0100)]
ukify: fix handling of  --secureboot-certificate-validity= (#30315)

Before:
$ python src/ukify/ukify.py genkey --secureboot-private-key=sb2.key --secureboot-certificate=sb2.cert --secureboot-certificate-validity=111
Traceback (most recent call last):
  File "/home/zbyszek/src/systemd-work/src/ukify/ukify.py", line 1660, in <module>
    main()
  File "/home/zbyszek/src/systemd-work/src/ukify/ukify.py", line 1652, in main
    generate_keys(opts)
  File "/home/zbyszek/src/systemd-work/src/ukify/ukify.py", line 943, in generate_keys
    key_pem, cert_pem = generate_key_cert_pair(
                        ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zbyszek/src/systemd-work/src/ukify/ukify.py", line 891, in generate_key_cert_pair
    now + ONE_DAY * valid_days
          ~~~~~~~~^~~~~~~~~~~~
TypeError: can't multiply sequence by non-int of type 'datetime.timedelta'

Now:
$ python src/ukify/ukify.py genkey --secureboot-private-key=sb2.key --secureboot-certificate=sb2.cert --secureboot-certificate-validity=111
Writing SecureBoot private key to sb2.key
Writing SecureBoot certificate to sb2.cert

The new code is also clearer.

11 months agorepart: use correct errno
Mike Yuan [Tue, 5 Dec 2023 13:53:51 +0000 (21:53 +0800)]
repart: use correct errno

11 months agotest: load the io controller before checking if io.latency exists
Frantisek Sumsal [Tue, 5 Dec 2023 11:22:20 +0000 (12:22 +0100)]
test: load the io controller before checking if io.latency exists

Otherwise the following test gets always skipped.

11 months agorepart: Fix sysext definitions for --make-ddi=
Daan De Meyer [Tue, 5 Dec 2023 10:21:15 +0000 (11:21 +0100)]
repart: Fix sysext definitions for --make-ddi=

CopyFiles= does not support multiple directories separated by
whitespace. Instead the setting has to be specified multiple times.

11 months agoselinux: downgrade log about state to trace
Luca Boccassi [Tue, 5 Dec 2023 11:53:31 +0000 (11:53 +0000)]
selinux: downgrade log about state to trace

It is printed on every invocation of sd-executor, which is noisy and not useful

Follow-up for: bb5232b6a3b8a

11 months agobasic: fix typo
Yu Watanabe [Tue, 5 Dec 2023 14:50:25 +0000 (23:50 +0900)]
basic: fix typo

11 months agofix: The example2 in hwdb.xml is unreasonable
huyubiao [Tue, 5 Dec 2023 12:53:32 +0000 (20:53 +0800)]
fix: The example2 in hwdb.xml is unreasonable

use evdev:atkbd:dmi:bvnAcer:bvr:bdXXXXX:bd08/05/2010:svnAcer:pnX123: instead of evdev:atkbd:dmi:bvnAcer:bdXXXXX:bd08/05/2010:svnAcer:pnX123

11 months agoMerge pull request #30313 from mrc0mmand/ubuntu-ci
Luca Boccassi [Mon, 4 Dec 2023 18:23:34 +0000 (18:23 +0000)]
Merge pull request #30313 from mrc0mmand/ubuntu-ci

Reduce the number of deny-list files for Ubuntu CI

11 months agotools/meson-vcs-tag: the third argument is optional
Yu Watanabe [Mon, 4 Dec 2023 03:36:53 +0000 (12:36 +0900)]
tools/meson-vcs-tag: the third argument is optional

Follow-up for 1a71ac07adafebe7e0074f92d049f72968ca2d47.

11 months agoMerge pull request #30314 from DaanDeMeyer/dmi
Luca Boccassi [Mon, 4 Dec 2023 10:29:06 +0000 (10:29 +0000)]
Merge pull request #30314 from DaanDeMeyer/dmi

Document kernel configs required for reading credentials from SMBIOS

11 months agomkosi: Update comment why we can't use linux-kvm yet
Daan De Meyer [Mon, 4 Dec 2023 10:16:52 +0000 (11:16 +0100)]
mkosi: Update comment why we can't use linux-kvm yet

11 months agoDocument kernel configs required for reading credentials from SMBIOS
Daan De Meyer [Mon, 4 Dec 2023 10:13:59 +0000 (11:13 +0100)]
Document kernel configs required for reading credentials from SMBIOS

11 months agotest: reenable TEST-30 on i*86
Frantisek Sumsal [Mon, 4 Dec 2023 09:57:39 +0000 (10:57 +0100)]
test: reenable TEST-30 on i*86

The original reason for deny-listing it was that it's flaky there. I'm
not sure if that's still the case, but the Ubuntu CI jobs for i*86 are
gone, so this file shouldn't be needed anymore anyway.

11 months agotest: skip TEST-36 on s390x and powerpc
Frantisek Sumsal [Mon, 4 Dec 2023 09:51:35 +0000 (10:51 +0100)]
test: skip TEST-36 on s390x and powerpc

As QEMU there doesn't support NUMA nodes. Also, drop the now unneeded
deny-list file for Ubuntu CI.

11 months agotest: check if 'btrfs filesystem' supports 'mkswapfile'
Frantisek Sumsal [Mon, 4 Dec 2023 09:23:42 +0000 (10:23 +0100)]
test: check if 'btrfs filesystem' supports 'mkswapfile'

Instead of deny-listing the test on Ubuntu CI, so it gets enabled
automagically once btrfs-progs is updated to a newer version there.

11 months agotest: reenable TEST-25-IMPORT in Ubuntu CI
Frantisek Sumsal [Mon, 4 Dec 2023 09:16:02 +0000 (10:16 +0100)]
test: reenable TEST-25-IMPORT in Ubuntu CI

Let's see if #13973 is still an issue.

11 months agoexecutor: apply LogLevelMax earlier
Luca Boccassi [Sun, 3 Dec 2023 18:30:07 +0000 (18:30 +0000)]
executor: apply LogLevelMax earlier

SELinux logs before we have a chance to apply it, move it up as it
breaks TEST-04-JOURNAL:

[  408.578624] testsuite-04.sh[11463]: ++ journalctl -b -q -u silent-success.service
[  408.578743] testsuite-04.sh[11098]: + [[ -z Dec 03 13:38:41 H systemd-executor[11459]: SELinux enabled state cached to: disabled ]]

Follow-up for: bb5232b6a3b8a

11 months agoMerge pull request #30305 from yuwata/seccomp-fix
Yu Watanabe [Mon, 4 Dec 2023 02:44:58 +0000 (11:44 +0900)]
Merge pull request #30305 from yuwata/seccomp-fix

seccomp: override the default action only when the filter is allow-list

11 months agotests: fix section mapping in test_ukify.py
Zbigniew Jędrzejewski-Szmek [Sat, 2 Dec 2023 09:26:05 +0000 (10:26 +0100)]
tests: fix section mapping in test_ukify.py

The regexp only worked if the sections were small enough for the size to
start with "0". I have an initrd that is 0x1078ec7e bytes, so the tests
would spuriously fail.

11 months agoMerge pull request #30297 from keszybz/fixups
Luca Boccassi [Sun, 3 Dec 2023 12:34:24 +0000 (12:34 +0000)]
Merge pull request #30297 from keszybz/fixups

A few unrelated fixups for recent commits

11 months agoseccomp-util: also use ENOSYS for unknown syscalls in seccomp_load_syscall_filter_set()
Yu Watanabe [Sun, 3 Dec 2023 09:01:20 +0000 (18:01 +0900)]
seccomp-util: also use ENOSYS for unknown syscalls in seccomp_load_syscall_filter_set()

Follow-up for 2331c02d06cae97b87637a0fc6bb4961b509ccf2.

Note, currently, the function is always called with SCMP_ACT_ALLOW as
the default action, except for the test. So, this should not change
anything in the runtime code.

11 months agoseccomp-util: override default action only when the filter is allow-list
Yu Watanabe [Sun, 3 Dec 2023 08:37:02 +0000 (17:37 +0900)]
seccomp-util: override default action only when the filter is allow-list

Follow-up for 2331c02d06cae97b87637a0fc6bb4961b509ccf2.

Fixes #30304.

11 months agostdio-bridge: return immediately if we can
Zbigniew Jędrzejewski-Szmek [Wed, 29 Nov 2023 13:38:06 +0000 (14:38 +0100)]
stdio-bridge: return immediately if we can

Follow-up for 0321248b79d14ceddd36140b327332f145ae68e7.

11 months agorun: fix bad escaping and memory ownership confusion
Zbigniew Jędrzejewski-Szmek [Wed, 29 Nov 2023 13:13:33 +0000 (14:13 +0100)]
run: fix bad escaping and memory ownership confusion

arg_description was either set to arg_unit (i.e. a const char*), or to
char *description, the result of allocation in run(). But description
was decorated with _cleanup_, so it would be freed when going out of the
function. Nothing bad would happen, because the program would exit after
exiting from run(), but this is just all too messy.

Also, strv_join(" ") + shell_escape() is not a good way to escape command
lines. In particular, one the join has happened, we cannot distinguish
empty arguments, or arguments with whitespace, etc. We have a helper
function to do the escaping properly, so let's use that.

Fixup for 2c29813da3421b77eca5e5cdc3b9a863cad473b9.

11 months agorun: adjust indentation
Zbigniew Jędrzejewski-Szmek [Wed, 29 Nov 2023 13:01:13 +0000 (14:01 +0100)]
run: adjust indentation

11 months agotest-macro: use capital test names for macro tests
Zbigniew Jędrzejewski-Szmek [Sun, 26 Nov 2023 14:54:11 +0000 (15:54 +0100)]
test-macro: use capital test names for macro tests

It's just easier if the test is named as the thing being tested. Also, this way
inconsistent, because lower in the file uppercase test names are used.

11 months agoNEWS: finalize for v255-rc4
Luca Boccassi [Sat, 2 Dec 2023 02:05:27 +0000 (02:05 +0000)]
NEWS: finalize for v255-rc4

11 months agoMerge pull request #30291 from keszybz/seccomp-unknown-syscall
Luca Boccassi [Sat, 2 Dec 2023 02:04:24 +0000 (02:04 +0000)]
Merge pull request #30291 from keszybz/seccomp-unknown-syscall

Backwardscompatibly handle syscalls unknown to us or libseccomp

11 months agocore: turn on higher optimization level in seccomp
Zbigniew Jędrzejewski-Szmek [Fri, 1 Dec 2023 22:13:54 +0000 (23:13 +0100)]
core: turn on higher optimization level in seccomp

This mirrors what d75615f398a0fbf986cf03924462863ca6ee2f9f did for nspawn.

It isn't really a fatal failure if we can't set that, so ignore it in libseccomp
cannot set the attribute.

 line  OP   JT   JF   K
=================================
 0000: 0x20 0x00 0x00 0x00000004   ld  $data[4]
 0001: 0x15 0x00 0xb7 0x40000003   jeq 1073741827 true:0002 false:0185
 0002: 0x20 0x00 0x00 0x00000000   ld  $data[0]
 0003: 0x15 0xb5 0x00 0x00000000   jeq 0    true:0185 false:0004
 0004: 0x15 0xb4 0x00 0x00000001   jeq 1    true:0185 false:0005
 0005: 0x15 0xb3 0x00 0x00000002   jeq 2    true:0185 false:0006
 0006: 0x15 0xb2 0x00 0x00000003   jeq 3    true:0185 false:0007
 0007: 0x15 0xb1 0x00 0x00000004   jeq 4    true:0185 false:0008
 0008: 0x15 0xb0 0x00 0x00000005   jeq 5    true:0185 false:0009
 0009: 0x15 0xaf 0x00 0x00000006   jeq 6    true:0185 false:0010
 ...
 0438: 0x15 0x03 0x00 0x000001be   jeq 446  true:0442 false:0439
 0439: 0x15 0x02 0x00 0x000001bf   jeq 447  true:0442 false:0440
 0440: 0x15 0x01 0x00 0x000001c0   jeq 448  true:0442 false:0441
 0441: 0x06 0x00 0x00 0x00050026   ret ERRNO(38)
 0442: 0x06 0x00 0x00 0x7fff0000   ret ALLOW

 line  OP   JT   JF   K
=================================
 0000: 0x20 0x00 0x00 0x00000004   ld  $data[4]
 0001: 0x15 0x00 0x27 0x40000003   jeq 1073741827 true:0002 false:0041
 0002: 0x20 0x00 0x00 0x00000000   ld  $data[0]
 0003: 0x25 0x01 0x00 0x000000b5   jgt 181  true:0005 false:0004
 0004: 0x05 0x00 0x00 0x00000143   jmp 0328
 0005: 0x25 0x00 0xa1 0x00000139   jgt 313  true:0006 false:0167
 0006: 0x25 0x00 0x51 0x00000179   jgt 377  true:0007 false:0088
 0007: 0x25 0x00 0x29 0x000001a0   jgt 416  true:0008 false:0049
 0008: 0x25 0x00 0x13 0x000001b0   jgt 432  true:0009 false:0028
 0009: 0x25 0x00 0x09 0x000001b8   jgt 440  true:0010 false:0019
 ...
 0551: 0x15 0x03 0x00 0x00000002   jeq 2    true:0555 false:0552
 0552: 0x15 0x02 0x01 0x00000001   jeq 1    true:0555 false:0554
 0553: 0x15 0x01 0x00 0x00000000   jeq 0    true:0555 false:0554
 0554: 0x06 0x00 0x00 0x00050026   ret ERRNO(38)
 0555: 0x06 0x00 0x00 0x7fff0000   ret ALLOW

The program is longer but hopefully faster because of the binary search.

11 months agoshared/seccomp-util: use the same error message for the same condition
Zbigniew Jędrzejewski-Szmek [Fri, 1 Dec 2023 18:04:27 +0000 (19:04 +0100)]
shared/seccomp-util: use the same error message for the same condition

We were calling seccomp_syscall_resolve_name three times and using a
slightly different error message in each of the cases.

11 months agocore: when applying syscall filters, use ENOSYS for unknown calls
Zbigniew Jędrzejewski-Szmek [Fri, 1 Dec 2023 18:03:23 +0000 (19:03 +0100)]
core: when applying syscall filters, use ENOSYS for unknown calls

glibc starting using fchmodat2 to implement fchmod with flags [1], but
current version of libseccomp does not support fchmodat2 [2]. This is
causing problems with programs sandboxed by systemd. libseccomp needs to know
a syscall to be able to set any kind of filter for it, so for syscalls unknown
by libseccomp we would always do the default action, i.e. either return the
errno set by SystemCallErrorNumber or send a fatal signal. For glibc to ignore
the unknown syscall and gracefully fall back to the older implementation,
we need to return ENOSYS. In particular, tar now fails with the default
SystemCallFilter="@system-service" sandbox [3].

This is of course a wider problem: any time the kernel gains new syscalls,
before libseccomp and systemd have caught up, we'd behave incorrectly. Let's
do the same as we already were doing in nspawn since
3573e032f26724949e86626eace058d006b8bf70, and do the "default action" only
for syscalls which are known by us and libseccomp, and return ENOSYS for
anything else. This means that users can start using a sandbox with the new
syscalls only after libseccomp and systemd have been updated, but before that
happens they behaviour that is backwards-compatible.

[1] https://github.com/bminor/glibc/commit/65341f7bbea824d2ff9d37db15d8be162df42bd3
[2] https://github.com/seccomp/libseccomp/issues/406
[2] https://github.com/systemd/systemd/issues/30250

Fixes https://github.com/systemd/systemd/issues/30250.

In seccomp_restrict_sxid() there's a chunk conditionalized with
'#if defined(__SNR_fchmodat2)'. We need to kep that because seccomp_restrict_sxid()
seccomp_restrict_suid_sgid() uses SCMP_ACT_ALLOW as the default action.

11 months agocore/cgroup: for non-cached attrs, don't return ENODATA blindly
Mike Yuan [Fri, 1 Dec 2023 19:06:16 +0000 (03:06 +0800)]
core/cgroup: for non-cached attrs, don't return ENODATA blindly

Follow-up for f17b07f4d72238da95312920dcc2ad076568cba3

Hope I won't break this thing again...

11 months agoMerge pull request #30294 from bluca/news
Zbigniew Jędrzejewski-Szmek [Sat, 2 Dec 2023 00:08:45 +0000 (01:08 +0100)]
Merge pull request #30294 from bluca/news

hwdb and NEWS updates

11 months agosystemd-homed.service.in: add quotactl to SystemCallFilter
Neil Wilson [Fri, 1 Dec 2023 16:29:32 +0000 (16:29 +0000)]
systemd-homed.service.in: add quotactl to SystemCallFilter

Standard directories make a call to the quotactl system call to enforce disk size limits.

Fixes #30287

11 months agohwdb: update
Luca Boccassi [Fri, 1 Dec 2023 22:07:08 +0000 (22:07 +0000)]
hwdb: update

11 months agoNEWS: update contributors list
Luca Boccassi [Fri, 1 Dec 2023 22:05:08 +0000 (22:05 +0000)]
NEWS: update contributors list

11 months agoMerge pull request #30268 from yuwata/network-fix-too-many-waiting-replies
Zbigniew Jędrzejewski-Szmek [Fri, 1 Dec 2023 18:54:18 +0000 (19:54 +0100)]
Merge pull request #30268 from yuwata/network-fix-too-many-waiting-replies

network: fix issue caused by too many waiting replies

11 months agocore: fix comment
Zbigniew Jędrzejewski-Szmek [Fri, 1 Dec 2023 14:53:06 +0000 (15:53 +0100)]
core: fix comment

11 months agofix: prefix of dmesg pstore files
Дамјан Георгиевски [Fri, 1 Dec 2023 10:46:36 +0000 (11:46 +0100)]
fix: prefix of dmesg pstore files

A change in the kernel[1] renamed the prefix of the pstore files from
`dmesg-efi-` to `dmesg-efi_pstore-`.

[1]
https://git.kernel.org/linus/893c5f1de620

11 months agohomework-quota.c: correct error message in home_update_quota_btrfs
Neil Wilson [Fri, 1 Dec 2023 16:32:18 +0000 (16:32 +0000)]
homework-quota.c: correct error message in home_update_quota_btrfs

Fixes #30286

11 months agobuild(deps): bump meson from 1.2.3 to 1.3.0 in /.github/workflows
dependabot[bot] [Fri, 1 Dec 2023 10:01:04 +0000 (10:01 +0000)]
build(deps): bump meson from 1.2.3 to 1.3.0 in /.github/workflows

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

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

Signed-off-by: dependabot[bot] <support@github.com>
11 months agobuild(deps): bump redhat-plumbers-in-action/differential-shellcheck
dependabot[bot] [Fri, 1 Dec 2023 09:04:01 +0000 (09:04 +0000)]
build(deps): bump redhat-plumbers-in-action/differential-shellcheck

Bumps [redhat-plumbers-in-action/differential-shellcheck](https://github.com/redhat-plumbers-in-action/differential-shellcheck) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/redhat-plumbers-in-action/differential-shellcheck/releases)
- [Changelog](https://github.com/redhat-plumbers-in-action/differential-shellcheck/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/redhat-plumbers-in-action/differential-shellcheck/compare/aa647ec4466543e8555c2c3b648124a9813cee44...91e2582e40236f831458392d905578d680baa138)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/differential-shellcheck
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
11 months agobuild(deps): bump redhat-plumbers-in-action/devel-freezer
dependabot[bot] [Fri, 1 Dec 2023 09:03:54 +0000 (09:03 +0000)]
build(deps): bump redhat-plumbers-in-action/devel-freezer

Bumps [redhat-plumbers-in-action/devel-freezer](https://github.com/redhat-plumbers-in-action/devel-freezer) from 1.0.7 to 1.0.8.
- [Release notes](https://github.com/redhat-plumbers-in-action/devel-freezer/releases)
- [Commits](https://github.com/redhat-plumbers-in-action/devel-freezer/compare/13b6551f19ade74ca79be4cab06b815a4ffffa64...67aec4a153bd9fca5322e1c4dd4d7c419fb36362)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/devel-freezer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
11 months agobuild(deps): bump actions/github-script from 6.4.1 to 7.0.1
dependabot[bot] [Fri, 1 Dec 2023 09:03:48 +0000 (09:03 +0000)]
build(deps): bump actions/github-script from 6.4.1 to 7.0.1

Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/d7906e4ad0b1822421a7e6a35d5ca353c962f410...60a0d83039c74a4aee543508d2ffcb1c3799cdea)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
11 months agobuild(deps): bump github/codeql-action from 2.21.9 to 2.22.8
dependabot[bot] [Fri, 1 Dec 2023 09:03:50 +0000 (09:03 +0000)]
build(deps): bump github/codeql-action from 2.21.9 to 2.22.8

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.9 to 2.22.8.
- [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/ddccb873888234080b77e9bc2d4764d5ccaaccf9...407ffafae6a767df3e0230c3df91b6443ae8df75)

---
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>
11 months agovconsole-setup: use a consistent log level when setfont fails with EX_OSERR
Franck Bui [Fri, 1 Dec 2023 07:44:53 +0000 (08:44 +0100)]
vconsole-setup: use a consistent log level when setfont fails with EX_OSERR

Since we accept that setfont(8) can fail with EX_OSERR and we dont treat it as
an error, dont log this failure at LOG_ERR.

Before:
-------
/usr/bin/setfont failed with exit status 71.           [LOG_ERR]
Setting fonts failed with a "system error", ignoring.  [LOG_NOTICE]

After:
-----
/usr/bin/setfont failed with a "system error" (EX_OSERR), ignoring.   [LOG_NOTICE]
Setting source virtual console failed, ignoring remaining ones        [LOG_NOTICE]

Follow-up for 93c9a9d235e2304500c490b4868534385f925c76

11 months agoukify: avoid deprecated datetime call
Zbigniew Jędrzejewski-Szmek [Fri, 1 Dec 2023 09:36:04 +0000 (10:36 +0100)]
ukify: avoid deprecated datetime call

DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
                    removal in a future version. Use timezone-aware objects to
                    represent datetimes in UTC: datetime.datetime.now(datetime.UTC).

The difference between the two is that .now(datetime.UTC) returns an object with
a timezone attached, "the numbers" are the same.

>>> datetime.datetime.utcnow(), datetime.datetime.now(datetime.UTC)
(datetime.datetime(2023, 12, 1, 9, 37, 53, 891669),
 datetime.datetime(2023, 12, 1, 9, 37, 53, 891688, tzinfo=datetime.timezone.utc))

This value is fed to cryptography's x509.CertificateBuilder object, so as long
as it can accept a datetime object with tzinfo, the result should be identical.

11 months agocore: do not drop CAP_SETUID if it is in AmbientCapabilities=
Luca Boccassi [Fri, 1 Dec 2023 01:44:54 +0000 (01:44 +0000)]
core: do not drop CAP_SETUID if it is in AmbientCapabilities=

Follow-up for 24832d10b604848cf46624bb439c7fac27f3ce3f

11 months agonetwork: do not send too many netlink messages in a single event
Yu Watanabe [Thu, 30 Nov 2023 10:07:36 +0000 (19:07 +0900)]
network: do not send too many netlink messages in a single event

Fixes #26743.

11 months agofirewall-util: introduce fw_ctx_get_reply_callback_count()
Yu Watanabe [Fri, 1 Dec 2023 05:36:30 +0000 (14:36 +0900)]
firewall-util: introduce fw_ctx_get_reply_callback_count()

11 months agosd-netlink: introduce netlink_get_reply_callback_count()
Yu Watanabe [Thu, 30 Nov 2023 10:04:37 +0000 (19:04 +0900)]
sd-netlink: introduce netlink_get_reply_callback_count()

11 months agoMerge pull request #30211 from yuwata/sd-journal-generic-array-bisect-fix
Daan De Meyer [Fri, 1 Dec 2023 10:43:04 +0000 (11:43 +0100)]
Merge pull request #30211 from yuwata/sd-journal-generic-array-bisect-fix

sd-journal: fix generic_array_bisect()

11 months agosd-netlink: change error code of the case that too many replies waiting
Yu Watanabe [Fri, 1 Dec 2023 05:17:58 +0000 (14:17 +0900)]
sd-netlink: change error code of the case that too many replies waiting

ERANGE should be used when setting or parsing a number.

11 months agohwdb: ieee1394-unit-function: arrangement for Sony DVMC-DA1
Takashi Sakamoto [Wed, 29 Nov 2023 13:39:50 +0000 (22:39 +0900)]
hwdb: ieee1394-unit-function: arrangement for Sony DVMC-DA1

A commit 6a42bdb37e39 ("hwdb: ieee1394-unit-function: add Sony
DVMC-DA1") is based on kernel feature unreleased yet (furthermore, not
merged yet). The original intension of new entry is to configure permission
of special file for FireWire character device, so this commit changes the
entry so that it can covers the issued case in existent version of Linux
kernel as out best effort.

When the new version of Linux kernel is released with the new feature,
then following commits would fulfill the hwdb with vendor and model names.

11 months agotest: add tests for generic_array_bisect()
Yu Watanabe [Wed, 29 Nov 2023 04:38:36 +0000 (13:38 +0900)]
test: add tests for generic_array_bisect()

11 months agotest: make append_number() optionally return offset of the entry object
Yu Watanabe [Wed, 29 Nov 2023 04:37:53 +0000 (13:37 +0900)]
test: make append_number() optionally return offset of the entry object

Preparation for later commits.

11 months agotest: split out finalization task
Yu Watanabe [Tue, 28 Nov 2023 21:08:11 +0000 (06:08 +0900)]
test: split out finalization task

11 months agosd-journal: fix corrupted journal handling of generic_array_bisect()
Yu Watanabe [Mon, 27 Nov 2023 02:55:49 +0000 (11:55 +0900)]
sd-journal: fix corrupted journal handling of generic_array_bisect()

Let's consider the following case:
- the direction is down,
- no cached entry,
- the array has 5 entry objects,
- the function test_object() reutns TEST_LEFT for the 1st object,
- the 2nd, 3rd, and 4th objects are broken, so generic_array_bisect_step()
  returns TEST_RIGHT for the object.

Then, previously, generic_array_bisect_step() updated the values like the following:
  0th: (m = 5, left = 0, right = 4, i = 4) -> (m = 4, left = 0, right = 3, RIGHT)
  1st: (m = 4, left = 0, right = 3, i = 1) -> (m = 4, left = 2, right = 3, LEFT)
  2nd: (m = 4, left = 2, right = 3, i = 2) -> (m = 2, left = 2, right = 1, RIGHT) <- ouch!!
So, assert(left < right) in generic_array_bisect() was triggered.
See issue #30210.

In such situation, there is no matching entry in the array. By returning
TEST_GOTO_PREVIOUS, generic_array_bisect() handles the result so.

Fixes a bug introduced by ab8f553d1e09088fb1f633e014299e7bf6c30c9e.

Fixes #30210.

11 months agosd-journal: ignore failure in testing cached corrupted entry
Yu Watanabe [Wed, 29 Nov 2023 21:46:21 +0000 (06:46 +0900)]
sd-journal: ignore failure in testing cached corrupted entry

Let's consider the case that the 1st entry in an array is broken, but
n-th entry is valid. Then, if generic_array_get() is called to read
n-th object, the offset of the broken entry is cached by the function.
If generic_array_bisect() is followed, even if the matching entry is
valid, it always fail with -EBADMSG or friends, as the function test the
cached entry at the beginnning. Let's ignore the failure in testing the
cached entry.

11 months agoman: document how to properly use a target as the Unit= of a timer
Joerg Behrmann [Thu, 30 Nov 2023 10:01:16 +0000 (11:01 +0100)]
man: document how to properly use a target as the Unit= of a timer

11 months agoMake sure we close bpf outer map fd in systemd-executor
Daan De Meyer [Thu, 30 Nov 2023 10:01:14 +0000 (11:01 +0100)]
Make sure we close bpf outer map fd in systemd-executor

Not doing so leaks it into the child service and causes selinux
denials.

11 months agocontrib: include co-authors to the contributor list of NEWS
Yu Watanabe [Thu, 30 Nov 2023 02:55:27 +0000 (11:55 +0900)]
contrib: include co-authors to the contributor list of NEWS

Closes #30261.

11 months agocore/executor: avoid double closing serialization fd
Mike Yuan [Wed, 29 Nov 2023 15:18:23 +0000 (23:18 +0800)]
core/executor: avoid double closing serialization fd

Before this commit, between fdopen() (in parse_argv()) and fdset_remove(),
the serialization fd is owned by both arg_serialization FILE stream and fdset.
Therefore, if something wrong happens between the two calls, or if --deserialize=
is specified more than once, we end up closing the serialization fd twice.
Normally this doesn't matter much, but I still think it's better to fix this.

Let's call fdset_new_fill() after parsing serialization fd hence.
We set the fd to CLOEXEC in parse_argv(), so it will be filtered
when the fdset is created.

While at it, also move fdset_new_fill() under the second log_open(), so
that we always log to the log target specified in arguments.

11 months agosd-journal: fix typo in function name
Yu Watanabe [Thu, 30 Nov 2023 04:05:04 +0000 (13:05 +0900)]
sd-journal: fix typo in function name

11 months agocore: Always call log_open() in systemd-executor
Daan De Meyer [Wed, 29 Nov 2023 14:57:46 +0000 (15:57 +0100)]
core: Always call log_open() in systemd-executor

log_setup() will open the console in systemd-executor because it's
not pid 1 and it's not connected to the journal. So if the log target
is later changed to kmsg, we have to reopen the log.

But since log_open() won't open the same log twice, let's just call it
unconditionally since it will be a noop if we try to reopen the same log.

This makes sure that systemd-executor will log to the log target passed
via --log-target= after parsing arguments.

11 months agotest: ignore gcov errors with RestrictFileSystems=
Frantisek Sumsal [Wed, 29 Nov 2023 12:36:54 +0000 (13:36 +0100)]
test: ignore gcov errors with RestrictFileSystems=

The errors are valid, since the file system is indeed not writable, but
we don't care about the missing coverage data in this case.

Follow-up to 4a43c2b3a1.

11 months agonetwork: Add missing comma
Daan De Meyer [Wed, 29 Nov 2023 20:18:31 +0000 (21:18 +0100)]
network: Add missing comma