Commit graph

62601 commits

Author SHA1 Message Date
Yu Watanabe e814f8b246
Merge pull request #26506 from keszybz/tiny-cleanups
Various trivial cleanups and follow-ups
2023-02-21 06:41:01 +09:00
Yu Watanabe 53b3512f9c
Merge pull request #26499 from mrc0mmand/assorted-tweaks
A couple of test tweaks for recent CI fails
2023-02-21 05:55:37 +09:00
Daan De Meyer c87ff62210 ukify: Set fast_load option when parsing PE files
Let's skip parsing of some irrelevant information that we don't use
to speed up building UKIs with large initrds from +-15s to less than
1s.
2023-02-20 20:02:22 +01:00
Lennart Poettering e43e735add
Merge pull request #26508 from poettering/cap-fixes
various fixes to capability handling
2023-02-20 19:04:13 +01:00
Lennart Poettering 76875ba9cb capability-util: use UINT32_MAX as shortcut where appropriatea 2023-02-20 16:49:46 +01:00
Lennart Poettering 3b3ebabfa6 capability-util: add macro for largest cap we're willing to accept
Let's hide the hard to grasp 62 behind a name.
2023-02-20 16:49:45 +01:00
Lennart Poettering 3fd5190b5e capability-util: add CAP_MASK_ALL + CAP_MASK_UNSET macros
We should be more careful with distinguishing the cases "all bits set in
caps mask" from "cap mask invalid". We so far mostly used UINT64_MAX for
both, which is not correct though (as it would mean
AmbientCapabilities=~0 followed by AmbientCapabilities=0) would result
in capability 63 to be set (which we don't really allow, since that
means unset).
2023-02-20 16:49:45 +01:00
Lennart Poettering 6c5fff017e cap-list: make sure never to accidentally return more than 63 caps
The rest of our codebase stores caps masks in a uint64_t, and also
assumes UINT64_MAX was a suitable value for "unset mask". Hence refuse
any caps outside of 0…62.

(right now the kernel knows 40 caps, hence 22 more to go before we have
to reconsider our life's choices.)
2023-02-20 16:49:45 +01:00
Lennart Poettering ebb93f3ccf cap-list: rework capability_set_to_string()
Let's use strextend_with_separator() and CAPABILITY_TO_STRING().
2023-02-20 16:49:45 +01:00
Lennart Poettering c52c4d6974 cap-list: add CAPABILITY_TO_STRING() macro using compound initialization to allocate fallback buffer
Let's add a helper that can return a numeric string in case we don't
recognize a name for a capability.
2023-02-20 16:27:26 +01:00
Lennart Poettering d0e67c69ba cap-list: refuse parsing numeric capability 63
We refuse it otherwise currently, simply because we cannot store it in a
uint64_t caps mask value anymore while retaining the ability to use
UINT64_MAX as "unset" marker.

The check actually was in place already, just one off.
2023-02-20 16:13:49 +01:00
Lennart Poettering 3f444e94f5 cap-list: modernize capability_set_from_string() a bit
Make return parameter optional. And return whether there were any caps
we didn't recognize via 0/1 return value.
2023-02-20 16:13:49 +01:00
Lennart Poettering 8142d73574 cap-list: rename capability_set_to_string_alloc() → capability_set_to_string()
We typically don't use the _alloc() suffix anymore for anything, hence
drop it here too.
2023-02-20 16:13:49 +01:00
Daan De Meyer 0cd90cf4f3
Merge pull request #26437 from DaanDeMeyer/repart-exclude
repart: Add ExcludeFiles= option
2023-02-20 15:49:29 +01:00
Zbigniew Jędrzejewski-Szmek beca6b6e6b TODO: add entry for time-based glob cleanup 2023-02-20 15:27:42 +01:00
Zbigniew Jędrzejewski-Szmek 164297cd9a man/tmpfiles.d: adjust the table in synopsis, improve spelling
r and R take globs, so let's name the argument appropriately in the tl;dr listing.

Also, use 'clean-up' in the file name where it represents the verb "clean up",
and other minor spelling adjustments.
2023-02-20 15:27:42 +01:00
Zbigniew Jędrzejewski-Szmek 6e01955b30 shared/hwdb-util: drop "variable" with a single use
In 6a34639e76 arg_hwdb_bin_dir was replaced by
default_hwdb_bin_dir, which is constant. Generally we'd use a #define instead,
but since there's just one use, let's just avoid the indirection altogether.
2023-02-20 15:27:30 +01:00
Luca Boccassi 96f321b6b4 man: document DefaultStartupMemoryLow=
Fixes https://github.com/systemd/systemd/issues/26493
2023-02-20 13:35:15 +00:00
Daan De Meyer eb483e7ae1
Merge pull request #26465 from DaanDeMeyer/openat-helpers
Add more openat() helpers of utility functions
2023-02-20 13:58:59 +01:00
Daan De Meyer a9af827613 repart: Add ExcludeFiles= option 2023-02-20 13:51:46 +01:00
Zbigniew Jędrzejewski-Szmek 650a4a9565 efi/measure: adjust formatting 2023-02-20 13:38:32 +01:00
Zbigniew Jędrzejewski-Szmek bad6b4405c measure: wrap long lines and avoid one cast 2023-02-20 13:38:32 +01:00
Zbigniew Jędrzejewski-Szmek f274f8bf25 sleep: use shared constant for freeze timeout
Let's keep all the timeout definitions in one place.
2023-02-20 13:38:32 +01:00
Daan De Meyer 9dcb8923cc smack-util: Add renameat_and_apply_smack_floor_label()
Also add mac_smack_apply_at() as its a requirement for
renameat_and_apply_smack_floor_label().
2023-02-20 12:45:43 +01:00
Daan De Meyer e8729892e8 tmpfile-util-label: Add fopen_temporary_at_label() 2023-02-20 12:44:44 +01:00
Daan De Meyer d9daf0d144 copy: Add copy_file_at() 2023-02-20 12:44:18 +01:00
Daan De Meyer 361bcb2097 env-file: Add write_env_file_at() 2023-02-20 12:43:31 +01:00
Yu Watanabe 135e5a201a udev-node: make stack_directory_read_one() accept NULL for devnode
No functional change, as currently the function is always called with
non-NULL argument. Just a preparation for #26048 or #25839.
2023-02-20 19:40:31 +09:00
Lennart Poettering 0ba75bde5f
Merge pull request #26479 from yuwata/exec-util-misc
exec-util: several cleanups
2023-02-20 11:17:58 +01:00
Yu Watanabe c207a57227 udev-node: drop unnecessary initialization
The priority of device node symlink can be negative. So the
initialization is confusing.

Fortunately, this changes no functionality, as we only compare the
priorities of symlinks only when we parsed at least one device node and
its priority.
2023-02-20 10:54:48 +01:00
Frantisek Sumsal 85cce734c9 test: ignore missing coverage in TEST-78
gcov is incompatible with DynamicUser=true without additional tweaks, so
let's ignore its complaints in this test, as working around it is not
worth it (in this case).
2023-02-20 10:50:06 +01:00
Frantisek Sumsal 27c814666f test: disable pipefail when testing interactive firstboot
Otherwise we might get unexpected test fails due to SIGPIPE:

```
[   14.334917] testsuite-74.sh[565]: + grep -q '^root:.*:0:0:.*:/bin/fooshell$' test-root/etc/passwd
[   14.335670] testsuite-74.sh[681]: + systemd-firstboot --root=test-root --prompt-root-shell
[   14.336382] testsuite-74.sh[680]: + echo -ne '\n/bin/barshell\n'
[   14.336980] testsuite-74.sh[680]: .//usr/lib/systemd/tests/testdata/units/testsuite-74.firstboot.sh: line 166: echo: write error: Broken pipe
```
2023-02-20 10:48:32 +01:00
Ronan Pigott d668ba131c core: permit sending augmented enable/disable methods
systemctl disable some.service fails to acquire interactive permission
because the DisableUnitFilesWithFlagsAndInstallInto method isn't permitted
2023-02-20 12:33:57 +09:00
Yu Watanabe ced30d69fa exec-util: use TAKE_FD() 2023-02-19 12:17:52 +09:00
Yu Watanabe 65cd9c7251 exec-util: propagate error in wait_for_terminate_and_check()
Then, the two error handlings becomes consistent with the one in
execute_directories().
2023-02-19 12:17:52 +09:00
Yu Watanabe b9fadf2e2c process-util: show requested process name in the log
This is useful for debugging issues like #26474.
2023-02-19 12:17:52 +09:00
Ronan Pigott fe5cb7a7ae systemctl: edit: fix double free of instanced name
There is a double free of unit_name when an instance is used, causing
systemctl --user edit service@instance to abort.
2023-02-19 07:07:15 +09:00
Mike Yuan db4691961c journalctl: fix output when --lines is used with --grep
Previously, we skip the entries before arg_lines
unconditionally, which doesn't behave correctly
when used with --grep. After this commit, when
a pattern is specified, we don't skip the entries
early, but rely on the count of the lines shown
to tell us when to stop. To achieve that we would
have to search backwards instead.

Fixes #25147
2023-02-19 07:06:49 +09:00
Yu Watanabe 2421dd7267 loop-util: fix error condition and return value
Fixes a bug introduced by da4fd28871.
2023-02-19 05:20:53 +09:00
Lennart Poettering d499fdbcf0 shared: move psi-util.[ch] to basic/ so that we can use it in sd-event 2023-02-17 23:46:19 +00:00
Lennart Poettering c56e8d8f41 util: move mallinfo compat glue from selinux code into generic code 2023-02-17 23:45:23 +00:00
Yu Watanabe ebc19b154c hashmap: fix build with valgrind
Follow-up for a2b052b29f.
2023-02-17 22:56:37 +00:00
Winterhuman 1ec9b72258 Correct journal misspell 2023-02-17 22:12:44 +00:00
Lennart Poettering 6cbb864d37
Merge pull request #26443 from poettering/mempool-fixes
mempool tweaks
2023-02-17 17:15:35 +01:00
Lennart Poettering c144696e12 tests: add test for mempool logic 2023-02-17 15:05:13 +01:00
Lennart Poettering a2b052b29f mempool: rework mempool_cleanup() to only release freed tiles
This substantially reworks mempool_cleanup() so that it releases pools
with all freed tiles only, but keeps all pools with still-allocated
tiles around.

This is more correct, as the previous implementation just released all
pools regardless if anything was still used or not. This would make
valgrind shut up but would just hide memory leaks altogether. Moreover
if called during regular runtime of a program would result in bad memory
accesses all over.

Hence, let's add a proper implementation and only trim pools we really
know are empty.

This way we can safely call these functions later, when under memory
pressure, at any time.
2023-02-17 15:03:53 +01:00
Lennart Poettering 4392b983b8 mempool: make mempool_free_tile() return NULL
To match how we usually do this current allocation code.

(Also, make it accept a NULL pointer, also in order to match behaviour
in the rest of our codebase)
2023-02-17 15:03:10 +01:00
Lennart Poettering 72381db942 mempool: introduce new helper pool_ptr()
This new helper returns the beginning of the usable area of the pool
object.

For now this is only used once, a later commit will use it more.
2023-02-17 15:02:18 +01:00
Dan Streetman e8858f1104 tpm2: simplify tpm2_seal() blob creation
TPM2 marshalling will never increase the total size, only possibly decrease.
There is no need for checking for insufficient size if the buffer size
is set to the sizeof both objects to be marshalled.
2023-02-17 14:02:15 +00:00
Lennart Poettering 993a9314c4 mempool: rename local variable to match current coding style 2023-02-17 15:01:36 +01:00