Merge pull request #26506 from keszybz/tiny-cleanups

Various trivial cleanups and follow-ups
This commit is contained in:
Yu Watanabe 2023-02-21 06:41:01 +09:00 committed by GitHub
commit e814f8b246
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 38 additions and 30 deletions

7
TODO
View file

@ -522,10 +522,6 @@ Features:
would just use the same public key specified with --public-key= (or the one
automatically derived from --private-key=).
* tmpfiles: add new line type for setting btrfs subvolume attributes (i.e. rw/ro)
* tmpfiles: add new line type for setting fcaps
* push people to use ".sysext.raw" as suffix for sysext DDIs (DDI =
discoverable disk images, i.e. the new name for gpt disk images following the
discoverable disk spec). [Also: just ".sysext/" for directory-based sysext]
@ -2328,6 +2324,7 @@ Features:
* tmpfiles:
- apply "x" on "D" too (see patch from William Douglas)
- allow time-based cleanup in r and R too
- instead of ignoring unknown fields, reject them.
- creating new directories/subvolumes/fifos/device nodes
should not follow symlinks. None of the other adjustment or creation
@ -2336,6 +2333,8 @@ Features:
- teach tmpfiles.d q/Q logic something sensible in the context of XFS/ext4
project quota
- teach tmpfiles.d m/M to move / atomic move + symlink old -> new
- add new line type for setting btrfs subvolume attributes (i.e. rw/ro)
- tmpfiles: add new line type for setting fcaps
* udev-link-config:
- Make sure ID_PATH is always exported and complete for

View file

@ -43,9 +43,9 @@ f /file/to/create mode user group - conte
f+ /file/to/create-or-truncate mode user group - content
w /file/to/write-to - - - - content
w+ /file/to/append-to - - - - content
d /directory/to/create-and-cleanup mode user group cleanup-age -
d /directory/to/create-and-clean-up mode user group cleanup-age -
D /directory/to/create-and-remove mode user group cleanup-age -
e /directory/to/cleanup mode user group cleanup-age -
e /directory/to/clean-up mode user group cleanup-age -
v /subvolume-or-directory/to/create mode user group cleanup-age -
q /subvolume-or-directory/to/create mode user group cleanup-age -
Q /subvolume-or-directory/to/create mode user group cleanup-age -
@ -60,8 +60,8 @@ b+ /dev/block-device-to-[re]create mode user group - major
C /target/to/create - - - cleanup-age /source/to/copy
x /path-or-glob/to/ignore/recursively - - - cleanup-age -
X /path-or-glob/to/ignore - - - cleanup-age -
r /empty/dir/to/remove - - - - -
R /dir/to/remove/recursively - - - - -
r /path-or-glob/to/remove - - - - -
R /path-or-glob/to/remove/recursively - - - - -
z /path-or-glob/to/adjust/mode mode user group - -
Z /path-or-glob/to/adjust/mode/recursively mode user group - -
t /path-or-glob/to/set/xattrs - - - - xattrs
@ -192,7 +192,7 @@ L /tmp/foobar - - - - /dev/null</programlisting>
<varlistentry>
<term><varname>d</varname></term>
<listitem><para>Create a directory. The mode and ownership will be adjusted if specified. Contents
of this directory are subject to time based cleanup if the age argument is specified.
of this directory are subject to time-based cleanup if the age argument is specified.
</para></listitem>
</varlistentry>
@ -207,7 +207,7 @@ L /tmp/foobar - - - - /dev/null</programlisting>
<listitem><para>Adjust the mode and ownership of existing directories and remove their contents
based on age.
Lines of this type accept shell-style globs in place of normal path names. Contents of the
directories are subject to time based cleanup if the age argument is specified. If the age argument
directories are subject to time-based cleanup if the age argument is specified. If the age argument
is <literal>0</literal>, contents will be unconditionally deleted every time
<command>systemd-tmpfiles --clean</command> is run.</para>
@ -334,7 +334,7 @@ L /tmp/foobar - - - - /dev/null</programlisting>
skipped. If the argument is omitted, files from the source directory
<filename>/usr/share/factory/</filename> with the same name
are copied. Does not follow symlinks. Contents of the directories
are subject to time based cleanup if the age argument is specified.
are subject to time-based cleanup if the age argument is specified.
</para></listitem>
</varlistentry>
@ -781,7 +781,7 @@ t /run/cups - - - - security.SMACK64=printing user.attr-with-spaces="foo bar"
</programlisting>
<para>The directory will be owned by root and have default mode. Its contents are
not subject to time based cleanup, but will be obliterated when
not subject to time-based cleanup, but will be obliterated when
<command>systemd-tmpfiles --remove</command> runs.</para>
</example>

View file

@ -42,6 +42,9 @@
#define DEFAULT_START_LIMIT_INTERVAL (10*USEC_PER_SEC)
#define DEFAULT_START_LIMIT_BURST 5
/* Wait for 1.5 seconds at maximum for freeze operation */
#define FREEZE_TIMEOUT (1500 * USEC_PER_MSEC)
/* The default time after which exit-on-idle services exit. This
* should be kept lower than the watchdog timeout, because otherwise
* the watchdog pings will keep the loop busy. */

View file

@ -78,7 +78,7 @@ static EFI_STATUS tpm2_measure_to_pcr_and_event_log(
tcg_event);
}
static EFI_TCG *tcg1_interface_check(void) {
static EFI_TCG* tcg1_interface_check(void) {
EFI_PHYSICAL_ADDRESS event_log_location, event_log_last_entry;
TCG_BOOT_SERVICE_CAPABILITY capability = {
.Size = sizeof(capability),
@ -109,7 +109,7 @@ static EFI_TCG *tcg1_interface_check(void) {
return tcg;
}
static EFI_TCG2 * tcg2_interface_check(void) {
static EFI_TCG2* tcg2_interface_check(void) {
EFI_TCG2_BOOT_SERVICE_CAPABILITY capability = {
.Size = sizeof(capability),
};

View file

@ -286,7 +286,8 @@ static int parse_argv(int argc, char *argv[]) {
if (arg_current)
for (UnifiedSection us = 0; us < _UNIFIED_SECTION_MAX; us++)
if (arg_sections[us])
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "The --current switch cannot be used in combination with --linux= and related switches.");
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"The --current switch cannot be used in combination with --linux= and related switches.");
if (strv_isempty(arg_phase)) {
/* If no phases are specifically selected, pick everything from the beginning of the initrd
@ -448,7 +449,8 @@ static int measure_kernel(PcrState *pcr_states, size_t n) {
return log_oom();
if (EVP_DigestInit_ex(mdctx[i], pcr_states[i].md, NULL) != 1)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Failed to initialize data %s context.", pcr_states[i].bank);
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Failed to initialize data %s context.", pcr_states[i].bank);
}
for (;;) {
@ -630,13 +632,14 @@ static void pcr_states_restore(PcrState *pcr_states, size_t n) {
static int verb_calculate(int argc, char *argv[], void *userdata) {
_cleanup_(json_variant_unrefp) JsonVariant *w = NULL;
_cleanup_(pcr_state_free_all) PcrState *pcr_states = NULL;
size_t n;
int r;
if (!arg_sections[UNIFIED_SECTION_LINUX] && !arg_current)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Either --linux= or --current must be specified, refusing.");
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Either --linux= or --current must be specified, refusing.");
if (arg_append)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "The --append= switch is only supported for 'sign', not 'calculate'.");
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"The --append= switch is only supported for 'sign', not 'calculate'.");
assert(!strv_isempty(arg_banks));
assert(!strv_isempty(arg_phase));
@ -645,7 +648,7 @@ static int verb_calculate(int argc, char *argv[], void *userdata) {
if (r < 0)
return r;
n = (size_t) r;
size_t n = r;
r = measure_kernel(pcr_states, n);
if (r < 0)
@ -732,10 +735,12 @@ static int verb_sign(int argc, char *argv[], void *userdata) {
int r;
if (!arg_sections[UNIFIED_SECTION_LINUX] && !arg_current)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Either --linux= or --current must be specified, refusing.");
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Either --linux= or --current must be specified, refusing.");
if (!arg_private_key)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "No private key specified, use --private-key=.");
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"No private key specified, use --private-key=.");
assert(!strv_isempty(arg_banks));
assert(!strv_isempty(arg_phase));
@ -746,7 +751,8 @@ static int verb_sign(int argc, char *argv[], void *userdata) {
return log_error_errno(r, "Failed to parse '%s': %m", arg_append);
if (!json_variant_is_object(v))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "File '%s' is not a valid JSON object, refusing.", arg_append);
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"File '%s' is not a valid JSON object, refusing.", arg_append);
}
/* When signing we only support JSON output */
@ -782,13 +788,15 @@ static int verb_sign(int argc, char *argv[], void *userdata) {
return log_oom();
if (i2d_PUBKEY_fp(tf, privkey) != 1)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to extract public key from private key file '%s'.", arg_private_key);
return log_error_errno(SYNTHETIC_ERRNO(EIO),
"Failed to extract public key from private key file '%s'.", arg_private_key);
fflush(tf);
rewind(tf);
if (!d2i_PUBKEY_fp(tf, &pubkey))
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to parse extracted public key of private key file '%s'.", arg_private_key);
return log_error_errno(SYNTHETIC_ERRNO(EIO),
"Failed to parse extracted public key of private key file '%s'.", arg_private_key);
}
r = pcr_states_allocate(&pcr_states);

View file

@ -21,8 +21,7 @@
#include "strv.h"
#include "tmpfile-util.h"
static const char *default_hwdb_bin_dir = "/etc/udev";
static const char * const conf_file_dirs[] = {
static const char* const conf_file_dirs[] = {
"/etc/udev/hwdb.d",
UDEVLIBEXECDIR "/hwdb.d",
NULL
@ -634,7 +633,7 @@ int hwdb_update(const char *root, const char *hwdb_bin_dir, bool strict, bool co
log_debug("strings dedup'ed: %8zu bytes (%8zu)",
trie->strings->dedup_len, trie->strings->dedup_count);
hwdb_bin = path_join(root, hwdb_bin_dir ?: default_hwdb_bin_dir, "hwdb.bin");
hwdb_bin = path_join(root, hwdb_bin_dir ?: "/etc/udev", "hwdb.bin");
if (!hwdb_bin)
return -ENOMEM;

View file

@ -382,8 +382,7 @@ static int freeze_thaw_user_slice(const char **method) {
if (r < 0)
return log_debug_errno(r, "Failed to open connection to systemd: %m");
/* Wait for 1.5 seconds at maximum for freeze operation */
(void) sd_bus_set_method_call_timeout(bus, 1500 * USEC_PER_MSEC);
(void) sd_bus_set_method_call_timeout(bus, FREEZE_TIMEOUT);
r = bus_call_method(bus, bus_systemd_mgr, *method, &error, NULL, "s", SPECIAL_USER_SLICE);
if (r < 0)