Commit Graph
60095 Commits
Author SHA1 Message Date
Richard Phibel 8aa3894eae systemctl: add support for --image option
All tools that support --root= should also learn --image=
so that they can operate on disk images directly.
2022-09-27 09:47:01 +02:00
Yu Watanabe b577d5569d Merge pull request #24812 from yuwata/udev-drop-netlink
udev: drop workaround for slow read of phys_port_name sysattr
2022-09-27 14:10:02 +09:00
Yu Watanabe 5bbcfbaa11 udev: drop workaround for slow read of phys_port_name sysattr
TL;DR
This effectively reverts 8327fd1b11,
eaba9bb3e6, and its follow-ups, as the
original issue was already fixed by the kernel side.

The original issue that the above commits tried to 'fix' is that reading
phys_port_name triggers a lock in the kernel, hence processing multiple
interfaces at the same time causes extreme slow down.
To workaround the issue, the above commits made several necessary
information retrieved through netlink instead of sysfs attributes.

A patch set for the kernel was proposed as a fix for the issue:
https://lore.kernel.org/all/20210928125500.167943-1-atenart@kernel.org/
and some of them were merged to v5.16:
https://github.com/torvalds/linux/commit/146e5e733310379f51924111068f08a3af0db830,
It has been already backported to 5.4.160, 5.10.80, 5.14.19, and 5.15.3.

When these commits were proposed, it is already claimed that such issue
should be fixed by the kernel side, and udevd should not workaround it.
Neverthless the feature was introduced, as these have theoretical
performance improvement, even if phys_port_name sysattr does not have the
above issue, as in that way udevd can obtain multiple information about
the interface with a single netlink socket operation. See the discussion
in #20744.

However, in reality, only `iflink`, `type`, `address`, and `phys_port_name`
attributes from netlink are used in the udev net_id builtin command. Hence,
after the original issue being fixed in the kernel side, there should be
almost no performance improvement for udevd.
Furthermore, combining attributes from netlink and sysfs makes hard to
test net_id builtin. See #21725.

Let's drop mostly meaningless code, and make net_id builtin easily testable.

Closes #21725.
2022-09-27 10:01:46 +09:00
Lennart Poettering fc70944301 man: document that setting Storage= in namespaces journald menas LogDirectory= in unit file needs setting too
Replaces: #24789
2022-09-26 19:29:49 +01:00
Lennart Poettering d57e43ad28 Merge pull request #24757 from yuwata/sd-device-get-child-first
sd-device: introduce sd_device_get_child_first() and _next()
2022-09-26 19:03:15 +02:00
Lennart Poettering 09d2ab7e1b Merge pull request #24808 from medhefgo/fuzz
fuzz: Add fuzzer for some efi string functions
2022-09-26 18:37:08 +02:00
Topi Miettinen 75723d31a6 units: udev: partially emulate ProtectClock=
Drop CAP_SYS_TIME and CAP_WAKE_ALARM capabilities and block clock-related
system calls. Update TODO.
2022-09-26 11:40:28 +02:00
Lennart Poettering eb8817db6e update TODO 2022-09-26 10:06:11 +02:00
Jan Janssen af4b8cef38 boot: Make efi_fnmatch non-backtracking 2022-09-25 14:26:00 +02:00
Jan Janssen ac37f132a1 fuzz: Add fuzzer for some efi string functions 2022-09-25 14:26:00 +02:00
Jan Janssen 4b8eb86360 fuzz: Introduce DO_NOT_OPTIMIZE
The compiler may decide computations like these are not doing anything
and decide to optimize them away. This would defeat the whole fuzzing
exercise. This macro will force the compiler to materialize the value
no matter what. It should be less prone to accidents compared to using
log functions, which would either slow things down or still optimize the
value away (or simply move it into the if branch the log macros create).

The benefit over assert_se would be that no requirement is made on the
value itself. If we are fine getting a string of any size (including
zero), an assert_se would either create a noisy compiler warning about
conditions that would alawys be met or yet again optimize the whole
thing away.
2022-09-25 14:26:00 +02:00
Jan Janssen e7508839af fuzz-bcd: Do not include bcd.c
This is not needed anymore, so do it the proper way now.
2022-09-25 14:26:00 +02:00
Albert Mikaelyan ca092bb57b Add Asus G14 GA402 to hwdb 2022-09-25 10:52:32 +01:00
Luca Boccassi be807dcc5e Merge pull request #24811 from yuwata/build-without-openssl
meson,tpm2: fix build without openssl
2022-09-25 10:51:45 +01:00
Yu Watanabe bb1bc2fcb0 sd-device: introduce device_get_sysattr_int() 2022-09-25 13:59:49 +09:00
Yu Watanabe 395c1d9a85 tpm2-util: fix build with -Dopenssl=false
Fixes #24800.
2022-09-25 08:03:19 +09:00
Yu Watanabe e0f435f935 meson: libfido2 requires openssl
Fixes compile error with -Dopenssl=false.
```
In file included from ../../home/watanabe/git/systemd/src/shared/pkcs11-util.h:12,
                 from ../../home/watanabe/git/systemd/src/cryptenroll/cryptenroll.c:24:
../../home/watanabe/git/systemd/src/shared/openssl-util.h:56:21: error: conflicting types for ‘X509’; have ‘struct X509’
   56 | typedef struct X509 X509;
      |                     ^~~~
In file included from /usr/include/openssl/crypto.h:25,
                 from /usr/include/openssl/bio.h:20,
                 from /usr/include/openssl/asn1.h:16,
                 from /usr/include/openssl/ec.h:17,
                 from /usr/include/fido.h:10,
                 from ../../home/watanabe/git/systemd/src/shared/libfido2-util.h:18,
                 from ../../home/watanabe/git/systemd/src/cryptenroll/cryptenroll-fido2.h:7,
                 from ../../home/watanabe/git/systemd/src/cryptenroll/cryptenroll.c:6:
/usr/include/openssl/ossl_typ.h:123:24: note: previous declaration of ‘X509’ with type ‘X509’ {aka ‘struct x509_st’}
  123 | typedef struct x509_st X509;
      |                        ^~~~
```
2022-09-25 07:53:06 +09:00
Yu Watanabe e56074a212 tmpfiles: fix wrong return value
Follow-up for 27f6aa0b71.
2022-09-24 13:44:42 +02:00
Christian Göttsche 599b384924 core: respect SELinuxContext= for socket creation
On socket creation respect the SELinuxContext= setting of the associated
service, such that the initial created socket has the same label as the
future process accepting the connection (since w.r.t SELinux sockets
normally have the same label as the owning process).

Triggered by #24702
2022-09-24 14:35:54 +09:00
Yu Watanabe 3b51a183af tree-wide: fix typo 2022-09-24 10:43:58 +09:00
Luca Boccassi 542e6eb38d Merge pull request #24799 from poettering/initrd-ftw
use "initrd" rather than "initial RAM disk" or "initramfs" to refernce the concept
2022-09-23 20:43:15 +01:00
Daan De Meyer 354dc913c5 Merge pull request #24635 from DaanDeMeyer/repart-verity-sig
repart: Add support for generating verity sig partitions
2022-09-23 18:53:04 +02:00
Daan De Meyer b456191d3c repart: Add support for generating verity sig partitions 2022-09-23 16:15:37 +02:00
Daan De Meyer 8939d3351d openssl-util: Add x509_fingerprint() 2022-09-23 16:15:37 +02:00
Daan De Meyer bc958a19e3 openssl-util: Allow declaring openssl struct pointers without openssl 2022-09-23 16:15:34 +02:00
Lennart Poettering 842beda4c5 TODO 2022-09-23 16:13:11 +02:00
Lennart Poettering dd5533801b Merge pull request #24700 from poettering/ssh-creds
support easy provisioning for SSH key of root user
2022-09-23 16:01:09 +02:00
Lennart Poettering 6e19a7ce13 Merge pull request #24628 from medhefgo/boot-sections
boot: Try to detect overlapping PE sections
2022-09-23 15:45:28 +02:00
Lennart Poettering a9dba3ef5f Merge pull request #24796 from yuwata/doc-update
documentation updates
2022-09-23 15:13:18 +02:00
Lennart Poettering e711431d50 Merge pull request #24794 from DaanDeMeyer/repart-follow-ups
repart: Extend squashfs logic to all read-only filesystems
2022-09-23 15:12:56 +02:00
Lennart Poettering 55c041b4e4 tree-wide: also settle on "initrd" instead of "initial RAM disk"
With this the concept is now called the same way everywhere except where
historical info is relevant or where the other names are API.
2022-09-23 15:12:18 +02:00
Lennart Poettering 32e2767080 tree-wide: use the term "initrd" at most places we so far used "initramfs"
In most cases we refernced the concept as "initrd". Let's convert most
remaining uses of "initramfs" to "initrd" too, to stay internally
consistent.

This leaves "initramfs" only where it's relevant to explain historical
concepts or where "initramfs" is part of the API (i.e. in
/run/initramfs).

Follow-up for: b66a6e1a58
2022-09-23 15:10:53 +02:00
Daan De Meyer 35e596f83f docs: Mention that "certificateFingerprint" source should be in DER 2022-09-23 14:10:11 +02:00
Daan De Meyer 2812017cfb basic: Add strgrowpad0() 2022-09-23 14:10:07 +02:00
Lennart Poettering addc84ec91 Merge pull request #24686 from d4nuu8/delta_output
shared/logs-show: add new --output= format "short-delta"
2022-09-23 13:33:55 +02:00
Daan De Meyer 3dd73ea77e dissect: Process verity sig partitions if a root hash is specified
If a root hash is specified, we should be checking that it matches
the root hash in the verity signature partition, so let's not skip
processing of the verity signature partitions if a root hash is
specified.
2022-09-23 12:24:09 +02:00
Daan De Meyer 3c5f7ec4ca test: Install openssl 3 extra library dependencies 2022-09-23 12:24:09 +02:00
Daan De Meyer 738edfe667 dissect: Log when we fail to load the verity signature partition 2022-09-23 12:24:09 +02:00
Daan De Meyer bc259e2338 repart: Rename verity integration test definition files 2022-09-23 12:24:09 +02:00
Daan De Meyer 9c98e277e9 repart: Improve missing libcryptsetup error message 2022-09-23 12:24:09 +02:00
Daan De Meyer b6db96a2a6 repart: Rename context_verity() to context_verity_hash() 2022-09-23 12:24:09 +02:00
Lennart Poettering fdcc31b718 update TODO 2022-09-23 11:44:01 +02:00
Yu Watanabe 78f14b2ff0 README: drop graphs counting issues or PRs
These cannot be accessible anymore.
2022-09-23 18:29:22 +09:00
Yu Watanabe 0b0cdb1652 doc: drop remaining references to LGTM.com 2022-09-23 18:29:22 +09:00
Avamander a79f5097e7 Updated Lenovo ThinkPad T440p/T440 touchpad fuzz (#24779) 2022-09-23 18:26:01 +09:00
Daniel Braunwarth 893bcd3d07 shared/logs-show: add new --output= format "short-delta"
This new output formatting option is similar to "short-monotonic" but
also shows the time delta between two messages.

This fixes #24641.
2022-09-23 10:07:03 +02:00
Daniel Braunwarth 275e6be052 logs-show: move timestamp reading into show_journal_entry() 2022-09-23 10:07:03 +02:00
Daan De Meyer eaec699494 shared: Don't try to generate read-only filesystem that we don't support
We need explicit support to generate read-only filesystems, since we
always need to pass a source tree to the mkfs binary to populate the
filesystem. As such, let's add an explicit check to return a
recognizable error when users try to generate a read-only filesystem
that we don't support.
2022-09-23 09:55:26 +02:00
Daan De Meyer eb43379cec repart: Extend squashfs logic to all read-only filesystems
The same logic will apply to every read-only filesystem that we
might add support for in the future, so let's make this a bit more
future proof.
2022-09-23 09:55:17 +02:00
Lennart Poettering d1666bde9c update TODO
(let's also merge all TODO items about adding creds support to various
tools into one item)
2022-09-23 09:34:12 +02:00