Zbigniew Jędrzejewski-Szmek [Wed, 22 Feb 2023 10:15:22 +0000 (11:15 +0100)]
test-set: inline two iterator declarations
Zbigniew Jędrzejewski-Szmek [Wed, 22 Feb 2023 10:35:25 +0000 (11:35 +0100)]
sd-journal: use a dynamic check for valgrind
I left this one as a separate commit because it is more involved.
We want people to compile with valgrind support, but we don't want to
use a slow hash function unless we're actually running under valgrind.
So the compile-time check is changed to a runtime check. When compiled
with optimization, the compiler should elide the checks on the constants,
and only leave the check for RUNNING_ON_VALGRIND. It is wrapped with
_unlikely_ so that the else branch is put in the hot path.
Zbigniew Jędrzejewski-Szmek [Tue, 21 Feb 2023 18:59:57 +0000 (19:59 +0100)]
meson: merge our two valgrind configuration conditions into one
Most of the support for valgrind was under HAVE_VALGRIND_VALGRIND_H, i.e. we
would enable if the valgrind headers were found. The operations then we be
conditionalized on RUNNING_UNDER_VALGRIND.
But in a few places we had code which was conditionalized on VALGRIND, i.e. the
config option. I noticed because I compiled with -Dvalgrind=true on a machine
that didn't have valgrind.h, and the build failed because
RUNNING_UNDER_VALGRIND was not defined. My first idea was to add a check that
the header is present if the option is set, but it seems better to just remove
the option. The code to support valgrind is trivial, and if we're
!RUNNING_UNDER_VALGRIND, it has negligible cost. And the case of running under
valgrind is always some special testing/debugging mode, so we should just do
those extra steps to make valgrind output cleaner. Removing the option makes
things simpler and we don't have to think if something should be covered by the
one or the other configuration bit.
I had a vague recollection that in some places we used -Dvalgrind=true not
for valgrind support, but to enable additional cleanup under other sanitizers.
But that code would fail to build without the valgrind headers anyway, so
I'm not sure if that was still used. If there are uses like that, we can
extend the condition for cleanup_pools().
Zbigniew Jędrzejewski-Szmek [Wed, 22 Feb 2023 10:13:48 +0000 (11:13 +0100)]
test-set: drop left-over valgrind check
In
b01f31954f1c7c4601925173ae2638b572224e9a mempool_use_allowed
was dropped, but apparently it was forgotten here.
Zbigniew Jędrzejewski-Szmek [Mon, 20 Feb 2023 18:57:30 +0000 (19:57 +0100)]
tmpfiles.d: drop misleading comment
I'm not sure what "suffix" was meant by this comment, but the file has the usual suffix.
The file was added with the current name back in
c4708f132381e4bbc864d5241381b5cde4f54878.
Maybe an earlier version of the patch did something different.
Lennart Poettering [Fri, 17 Feb 2023 21:24:10 +0000 (22:24 +0100)]
homectl: add missing break
Yu Watanabe [Sat, 18 Feb 2023 17:42:52 +0000 (02:42 +0900)]
core/manager: falling back to execute generators without sandboxing
When running in a container, like podman, docker or so, creating new mount
namespace may be disabled.
Fixes #26474.
Fixes RHBZ#
2165004 (https://bugzilla.redhat.com/show_bug.cgi?id=
2165004).
Lennart Poettering [Tue, 21 Feb 2023 08:49:30 +0000 (09:49 +0100)]
update TODO
Steve Ramage [Mon, 20 Feb 2023 21:49:29 +0000 (13:49 -0800)]
man: add DefaultStartupMemoryLow= as term in term list
Zbigniew Jędrzejewski-Szmek [Mon, 20 Feb 2023 14:07:44 +0000 (15:07 +0100)]
meson: adjust whitespace handling in jinja2 rendering
In
6abe882bae1bb12827ef395c60f21ab8bb1bc61b the renderer was made to
unconditionally append a newline to output. This works, but is ugly. A nicer
solution is to tell jinja2 to not strip the newline in the first place, via
keep_trailing_newline=True. It seems that the result is unchanged because all
our source files have exactly one trailing newline.
Also, enable lstrip_blocks=True. This would cause whitespace on the line before
an {%if block to be automatically stripped. It seems reasonable to enable that
if trim_blocks=True.
Overall, no change is expected, though I didn't test combinations of
configurations, so there might be a change in some cases. But now the rules of
rendering are more logical, e.g. we should be able to indent nested conditional
statements without getting unexpected whitespace in the output.
Yu Watanabe [Mon, 20 Feb 2023 21:41:01 +0000 (06:41 +0900)]
Merge pull request #26506 from keszybz/tiny-cleanups
Various trivial cleanups and follow-ups
Yu Watanabe [Mon, 20 Feb 2023 20:55:37 +0000 (05:55 +0900)]
Merge pull request #26499 from mrc0mmand/assorted-tweaks
A couple of test tweaks for recent CI fails
Daan De Meyer [Mon, 20 Feb 2023 13:45:19 +0000 (14:45 +0100)]
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.
Lennart Poettering [Mon, 20 Feb 2023 18:04:13 +0000 (19:04 +0100)]
Merge pull request #26508 from poettering/cap-fixes
various fixes to capability handling
Lennart Poettering [Mon, 20 Feb 2023 15:26:46 +0000 (16:26 +0100)]
capability-util: use UINT32_MAX as shortcut where appropriatea
Lennart Poettering [Mon, 20 Feb 2023 15:21:25 +0000 (16:21 +0100)]
capability-util: add macro for largest cap we're willing to accept
Let's hide the hard to grasp 62 behind a name.
Lennart Poettering [Mon, 20 Feb 2023 11:53:26 +0000 (12:53 +0100)]
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).
Lennart Poettering [Mon, 20 Feb 2023 10:30:56 +0000 (11:30 +0100)]
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.)
Lennart Poettering [Mon, 20 Feb 2023 10:45:07 +0000 (11:45 +0100)]
cap-list: rework capability_set_to_string()
Let's use strextend_with_separator() and CAPABILITY_TO_STRING().
Lennart Poettering [Mon, 20 Feb 2023 10:43:13 +0000 (11:43 +0100)]
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.
Lennart Poettering [Mon, 20 Feb 2023 11:26:46 +0000 (12:26 +0100)]
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.
Lennart Poettering [Mon, 20 Feb 2023 11:25:44 +0000 (12:25 +0100)]
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.
Lennart Poettering [Mon, 20 Feb 2023 10:33:48 +0000 (11:33 +0100)]
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.
Daan De Meyer [Mon, 20 Feb 2023 14:49:29 +0000 (15:49 +0100)]
Merge pull request #26437 from DaanDeMeyer/repart-exclude
repart: Add ExcludeFiles= option
Zbigniew Jędrzejewski-Szmek [Mon, 20 Feb 2023 14:25:39 +0000 (15:25 +0100)]
TODO: add entry for time-based glob cleanup
Zbigniew Jędrzejewski-Szmek [Mon, 20 Feb 2023 14:21:54 +0000 (15:21 +0100)]
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.
Zbigniew Jędrzejewski-Szmek [Mon, 20 Feb 2023 13:19:41 +0000 (14:19 +0100)]
shared/hwdb-util: drop "variable" with a single use
In
6a34639e76b8b59233a97533b13836d5a44e8d4a 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.
Luca Boccassi [Mon, 20 Feb 2023 12:52:33 +0000 (12:52 +0000)]
man: document DefaultStartupMemoryLow=
Fixes https://github.com/systemd/systemd/issues/26493
Daan De Meyer [Mon, 20 Feb 2023 12:58:59 +0000 (13:58 +0100)]
Merge pull request #26465 from DaanDeMeyer/openat-helpers
Add more openat() helpers of utility functions
Daan De Meyer [Thu, 16 Feb 2023 12:23:47 +0000 (13:23 +0100)]
repart: Add ExcludeFiles= option
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 14:42:49 +0000 (15:42 +0100)]
efi/measure: adjust formatting
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 12:43:59 +0000 (13:43 +0100)]
measure: wrap long lines and avoid one cast
Zbigniew Jędrzejewski-Szmek [Thu, 2 Feb 2023 12:01:24 +0000 (13:01 +0100)]
sleep: use shared constant for freeze timeout
Let's keep all the timeout definitions in one place.
Daan De Meyer [Thu, 22 Dec 2022 13:28:27 +0000 (14:28 +0100)]
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().
Daan De Meyer [Thu, 22 Dec 2022 13:27:57 +0000 (14:27 +0100)]
tmpfile-util-label: Add fopen_temporary_at_label()
Daan De Meyer [Thu, 22 Dec 2022 13:27:26 +0000 (14:27 +0100)]
copy: Add copy_file_at()
Daan De Meyer [Thu, 22 Dec 2022 13:26:29 +0000 (14:26 +0100)]
env-file: Add write_env_file_at()
Yu Watanabe [Mon, 20 Feb 2023 05:43:58 +0000 (14:43 +0900)]
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.
Lennart Poettering [Mon, 20 Feb 2023 10:17:58 +0000 (11:17 +0100)]
Merge pull request #26479 from yuwata/exec-util-misc
exec-util: several cleanups
Yu Watanabe [Sat, 18 Feb 2023 22:15:02 +0000 (07:15 +0900)]
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.
Frantisek Sumsal [Mon, 20 Feb 2023 09:50:06 +0000 (10:50 +0100)]
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).
Frantisek Sumsal [Wed, 1 Feb 2023 12:54:21 +0000 (13:54 +0100)]
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
```
Ronan Pigott [Sat, 18 Feb 2023 23:50:22 +0000 (16:50 -0700)]
core: permit sending augmented enable/disable methods
systemctl disable some.service fails to acquire interactive permission
because the DisableUnitFilesWithFlagsAndInstallInto method isn't permitted
Yu Watanabe [Sat, 18 Feb 2023 17:09:22 +0000 (02:09 +0900)]
exec-util: use TAKE_FD()
Yu Watanabe [Sat, 18 Feb 2023 16:55:28 +0000 (01:55 +0900)]
exec-util: propagate error in wait_for_terminate_and_check()
Then, the two error handlings becomes consistent with the one in
execute_directories().
Yu Watanabe [Sat, 18 Feb 2023 16:26:39 +0000 (01:26 +0900)]
process-util: show requested process name in the log
This is useful for debugging issues like #26474.
Ronan Pigott [Sat, 18 Feb 2023 20:03:07 +0000 (13:03 -0700)]
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.
Mike Yuan [Sat, 18 Feb 2023 13:49:21 +0000 (21:49 +0800)]
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
Yu Watanabe [Sat, 18 Feb 2023 06:35:41 +0000 (15:35 +0900)]
loop-util: fix error condition and return value
Fixes a bug introduced by
da4fd28871227d23d4719e30da03af5a71f47e5a.
Lennart Poettering [Tue, 14 Feb 2023 15:10:21 +0000 (16:10 +0100)]
shared: move psi-util.[ch] to basic/ so that we can use it in sd-event
Lennart Poettering [Fri, 10 Feb 2023 15:55:06 +0000 (16:55 +0100)]
util: move mallinfo compat glue from selinux code into generic code
Yu Watanabe [Fri, 17 Feb 2023 21:56:02 +0000 (06:56 +0900)]
hashmap: fix build with valgrind
Follow-up for
a2b052b29f8bc141e94a4af95d1653a38a57eaeb.
Winterhuman [Fri, 17 Feb 2023 21:19:51 +0000 (21:19 +0000)]
Correct journal misspell
Lennart Poettering [Fri, 17 Feb 2023 16:15:35 +0000 (17:15 +0100)]
Merge pull request #26443 from poettering/mempool-fixes
mempool tweaks
Lennart Poettering [Tue, 14 Feb 2023 12:49:17 +0000 (13:49 +0100)]
tests: add test for mempool logic
Lennart Poettering [Tue, 14 Feb 2023 12:44:51 +0000 (13:44 +0100)]
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.
Lennart Poettering [Tue, 14 Feb 2023 12:42:03 +0000 (13:42 +0100)]
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)
Lennart Poettering [Tue, 14 Feb 2023 12:40:40 +0000 (13:40 +0100)]
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.
Dan Streetman [Mon, 19 Dec 2022 14:58:05 +0000 (09:58 -0500)]
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.
Lennart Poettering [Tue, 14 Feb 2023 12:38:18 +0000 (13:38 +0100)]
mempool: rename local variable to match current coding style
Lennart Poettering [Tue, 14 Feb 2023 12:37:20 +0000 (13:37 +0100)]
mempool: use size_t for all memory object sizes and counts
Lennart Poettering [Wed, 8 Feb 2023 17:03:27 +0000 (18:03 +0100)]
hashmap: expose helper for releasing memory pools independently of valgrind
Let's clean this up and export this always, so that we can later call
when we are under memory pressure.
Daan De Meyer [Thu, 22 Dec 2022 12:00:31 +0000 (13:00 +0100)]
dissect-image: Return mount point fd if requested
Lennart Poettering [Wed, 8 Feb 2023 17:01:26 +0000 (18:01 +0100)]
process-util: add helper get_process_threads()
Let's add a proper helper for querying the number of threads in a
process.
Luca Boccassi [Fri, 17 Feb 2023 11:58:13 +0000 (11:58 +0000)]
Merge pull request #26463 from DaanDeMeyer/hacking
Hacking
Lennart Poettering [Fri, 17 Feb 2023 09:32:18 +0000 (10:32 +0100)]
sync-util: port fsync_directory_of_file() to fd_is_opath()
As suggested here:
https://github.com/systemd/systemd/pull/26450#pullrequestreview-
1302922404
Lennart Poettering [Fri, 17 Feb 2023 11:46:55 +0000 (12:46 +0100)]
Merge pull request #26438 from poettering/event-source-shorten
sd-event: reduce memory use of sd_event_source objects
Luca Boccassi [Fri, 17 Feb 2023 11:44:47 +0000 (11:44 +0000)]
Merge pull request #26341 from DaanDeMeyer/chase-fixes
chase-symlinks fixes
Lennart Poettering [Fri, 17 Feb 2023 09:51:58 +0000 (10:51 +0100)]
Merge pull request #26447 from poettering/sigqueue
pid1/systemctl: add ability to enqueue POSIX RT sigs with associated value to service processes
Lennart Poettering [Fri, 10 Feb 2023 15:43:58 +0000 (16:43 +0100)]
socket-util: make connect_unix_path() work with a NULL path
Lennart Poettering [Fri, 17 Feb 2023 09:50:19 +0000 (10:50 +0100)]
Merge pull request #26343 from DaanDeMeyer/bus-debug
Bus debug
Lennart Poettering [Fri, 17 Feb 2023 09:28:32 +0000 (10:28 +0100)]
Merge pull request #26450 from yuwata/fd-is-opath
util: introduce fd_is_opath() and use it in xsetxattr()
Lennart Poettering [Fri, 10 Feb 2023 16:56:48 +0000 (17:56 +0100)]
sd-event: allocate event source objects with the actually needed size
Currently we allocate fixed-size memory for event sources: the largest
any of the event source type needs. Discrepancy in the sizes needed for
the various event sources is quite major however: it's 144 bytes on
x86_64, i.e. more than two cache lines.
hence, let's be a tiny bit more careful, and allocate exactly as much as
we need, but not more.
Lennart Poettering [Fri, 10 Feb 2023 16:56:30 +0000 (17:56 +0100)]
macro: add macro for determining size of struct with trailing union
Lennart Poettering [Thu, 16 Feb 2023 15:31:02 +0000 (16:31 +0100)]
test: add test for new "systemctl --kill-value=" functionality
(as side-effect this also tests the new systemd-notify --exec switch)
Lennart Poettering [Thu, 16 Feb 2023 15:30:09 +0000 (16:30 +0100)]
man: document new --exec switch for systemd-notify
Lennart Poettering [Thu, 16 Feb 2023 14:42:49 +0000 (15:42 +0100)]
notify: add new --exec switch for chaining other commands to systemd-notify
This is useful in tests, so that we can first send a READY message and
then continue doing something else without changing PID.
Lennart Poettering [Thu, 16 Feb 2023 14:41:55 +0000 (15:41 +0100)]
strv: add strv_copy_n() helper for copying part of a n strv
Lennart Poettering [Thu, 16 Feb 2023 15:20:48 +0000 (16:20 +0100)]
man: document new --kill-value= switch to systemctl
Lennart Poettering [Wed, 15 Feb 2023 09:51:33 +0000 (10:51 +0100)]
systemctl: add --kill-value= argument to systemctl
This allows accompanying a signal with a value (as supported for Linux
Realtime signals). This is particularly useful as it allows us to do
stuff like this:
systemctl kill --kill-whom=main --kill-value=0x300 systemd-journald
In order to ask journald to flush its allocation caches and compact
memory.
Lennart Poettering [Wed, 15 Feb 2023 09:25:51 +0000 (10:25 +0100)]
pid1: add a new D-Bus method for enquing POSIX signals with values to unit processes
This augments the existing KillUnit() + Kill() methods with
QueueSignalUnit() + QueueSignal(), which are what sigqueue() is to
kill().
This is useful for sending our new SIGRTMIN+18 control signals to system
services.
Yu Watanabe [Fri, 17 Feb 2023 01:21:58 +0000 (10:21 +0900)]
test-execute: also mount tmpfs on /dev/shm
Otherwise, if /dev/shm has a directory that cannot be accessible by
unprivileged user, then we cannot pick a dynamic user, and test service
may fail with unexpected error code:
---
Failed to enter shared memory directory /dev/shm/systemd-watch-bind-BqAGlN: Permission denied
exec-dynamicuser-supplementarygroups.service: Failed to update dynamic user credentials: Device or resource busy
exec-dynamicuser-supplementarygroups.service: Failed at step USER spawning /bin/sh: Device or resource busy
src/test/test-execute.c:885:test_exec_dynamicuser: exec-dynamicuser-supplementarygroups.service: can_unshare=no: exit status 217, expected 216
---
Follow-up for
4e032f654b94c2544ccf937209303766dfa66c24.
Yu Watanabe [Thu, 16 Feb 2023 23:24:54 +0000 (08:24 +0900)]
cryptsetup: check the existence of salt by salt_size > 0
Follow-up for
504d0acf61c8472bc93c2a927e858074873b2eaf.
The function may be called with non-NULL salt and salt_size == 0.
Lennart Poettering [Fri, 17 Feb 2023 08:45:52 +0000 (09:45 +0100)]
Merge pull request #26453 from yuwata/activate-main
activate: use DEFINE_MAIN_FUNCTION() macro
Lennart Poettering [Fri, 17 Feb 2023 08:44:19 +0000 (09:44 +0100)]
Merge pull request #26452 from yuwata/journalctl-main-func
journalctl: use DEFINE_MAIN_FUNCTION() macro
Yu Watanabe [Fri, 17 Feb 2023 02:42:14 +0000 (11:42 +0900)]
test: add tests for xsetxattr()
Yu Watanabe [Fri, 17 Feb 2023 02:12:13 +0000 (11:12 +0900)]
test: use mkdtemp_open()
Yu Watanabe [Fri, 17 Feb 2023 00:49:01 +0000 (09:49 +0900)]
activate: use _cleanup_close_ attribute
Yu Watanabe [Fri, 17 Feb 2023 00:31:01 +0000 (09:31 +0900)]
activate: use log_set_open_when_needed()
Otherwise, several error logs may not be shown.
Yu Watanabe [Fri, 17 Feb 2023 00:26:34 +0000 (09:26 +0900)]
activate: fix typo
Yu Watanabe [Fri, 17 Feb 2023 00:25:21 +0000 (09:25 +0900)]
activate: use DEFINE_MAIN_FUNC() macro
Yu Watanabe [Fri, 17 Feb 2023 00:11:28 +0000 (09:11 +0900)]
journalctl: fix fd leak
Yu Watanabe [Fri, 17 Feb 2023 00:11:17 +0000 (09:11 +0900)]
journalctl: use DEFINE_MAIN_FUNCTION() macro
Yu Watanabe [Thu, 16 Feb 2023 22:34:13 +0000 (07:34 +0900)]
xattr-util: check if fd has O_PATH and do not try setxattr() twice
Follow-up for
a4d2461c46f40c9ae5002a2aea35b35ccb60ef9c.
Yu Watanabe [Thu, 16 Feb 2023 22:18:42 +0000 (07:18 +0900)]
fd-util: introduce a simple helper to check a file descriptor has O_PATH
Frantisek Sumsal [Thu, 16 Feb 2023 18:48:03 +0000 (19:48 +0100)]
test: avoid matching other fields than __SEQNUM=
The current unanchored grep sometimes matches MESSAGE=/_CMDLINE= fields
that contain "__SEQNUM=" instead of just the __SEQNUM= field, causing
spurious test fails:
[ 721.546372] testsuite-04.sh[1013]: ++ cut -d= -f2
[ 721.555858] testsuite-04.sh[1011]: ++ journalctl -o export -n 1
[ 721.573037] testsuite-04.sh[1012]: ++ grep -a __SEQNUM=
[ 721.767294] testsuite-04.sh[562]: + SEQNUM1='495773
[ 721.769671] testsuite-04.sh[562]: ++ grep -a __SEQNUM
[ 721.771323] testsuite-04.sh[562]: grep -a __SEQNUM'
[ 721.772938] testsuite-04.sh[562]: + systemd-cat echo yo
[ 721.921413] testsuite-04.sh[562]: + journalctl --sync
[ 722.088945] testsuite-04.sh[1018]: ++ journalctl -o export -n 1
[ 722.104040] testsuite-04.sh[1019]: ++ grep -a __SEQNUM=
[ 722.117239] testsuite-04.sh[1020]: ++ cut -d= -f2
[ 722.314936] testsuite-04.sh[562]: + SEQNUM2=495786
[ 722.317906] testsuite-04.sh[562]: + test 495786 -gt '495773
[ 722.319737] testsuite-04.sh[562]: ++ grep -a __SEQNUM
[ 722.321609] testsuite-04.sh[562]: grep -a __SEQNUM'
[ 722.323536] testsuite-04.sh[562]: /usr/lib/systemd/tests/testdata/units/testsuite-04.sh: line 276: test: 495773
[ 722.325744] testsuite-04.sh[562]: ++ grep -a __SEQNUM
[ 722.327498] testsuite-04.sh[562]: grep -a __SEQNUM: integer expression expected
[ 722.329528] testsuite-04.sh[562]: + journalctl --rotate --vacuum-size=16M
$ build/journalctl --file /var/tmp/systemd-test.0HpVjt/system.journal -o export | grep -a __SEQNUM=
...
__SEQNUM=214849
__SEQNUM=214850
MESSAGE=++ grep -a __SEQNUM=
_CMDLINE=grep -a __SEQNUM=
__SEQNUM=214851
...
__SEQNUM=214860
MESSAGE=++ grep -a __SEQNUM=
_CMDLINE=grep -a __SEQNUM=
__SEQNUM=214861
__SEQNUM=214862
__SEQNUM=214863
...
Let's anchor the expression to avoid this.
Follow-up to
f28ed2c1be7.
Yu Watanabe [Thu, 16 Feb 2023 21:52:03 +0000 (06:52 +0900)]
Merge pull request #26271 from d-hatayama/fix_sulogin_shell
sulogin: fix control lost of the current terminal when default.target…
Jan Janssen [Thu, 16 Feb 2023 14:24:44 +0000 (15:24 +0100)]
boot: Fix assertion failure
The TPM code expects a description unless the PCR index indicates that
no measurements have to take place. The assert was preempting this
check from happening.
Fixes: #26428
Daan De Meyer [Thu, 16 Feb 2023 19:06:27 +0000 (20:06 +0100)]
Drop mkosi + clang section from HACKING
We removed a few features that made this work, will be added back
in the future when we restructure the way mkosi does build images.
Daan De Meyer [Thu, 16 Feb 2023 19:05:55 +0000 (20:05 +0100)]
Update HACKING for latest mkosi