mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
efivars: rename efivar_get_uint_string() → efivar_get_uint64_str16()
Be explicit with the type, and more inline with our other code, that likes to indicate the string char width in the name. Also, switch to a fixed size type, since EFI variables should really be binary exact the same on all archs.
This commit is contained in:
@@ -1111,8 +1111,8 @@ static bool menu_run(
|
||||
if (config->console_mode_efivar == CONSOLE_MODE_KEEP)
|
||||
efivar_unset(MAKE_GUID_PTR(LOADER), u"LoaderConfigConsoleMode", EFI_VARIABLE_NON_VOLATILE);
|
||||
else
|
||||
efivar_set_uint_string(MAKE_GUID_PTR(LOADER), u"LoaderConfigConsoleMode",
|
||||
config->console_mode_efivar, EFI_VARIABLE_NON_VOLATILE);
|
||||
efivar_set_uint64_str16(MAKE_GUID_PTR(LOADER), u"LoaderConfigConsoleMode",
|
||||
config->console_mode_efivar, EFI_VARIABLE_NON_VOLATILE);
|
||||
}
|
||||
|
||||
if (timeout_efivar_saved != config->timeout_sec_efivar) {
|
||||
@@ -1130,8 +1130,8 @@ static bool menu_run(
|
||||
break;
|
||||
default:
|
||||
assert(config->timeout_sec_efivar < UINT32_MAX);
|
||||
efivar_set_uint_string(MAKE_GUID_PTR(LOADER), u"LoaderConfigTimeout",
|
||||
config->timeout_sec_efivar, EFI_VARIABLE_NON_VOLATILE);
|
||||
efivar_set_uint64_str16(MAKE_GUID_PTR(LOADER), u"LoaderConfigTimeout",
|
||||
config->timeout_sec_efivar, EFI_VARIABLE_NON_VOLATILE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1554,7 +1554,7 @@ static EFI_STATUS efivar_get_timeout(const char16_t *var, uint64_t *ret_value) {
|
||||
|
||||
static void config_load_defaults(Config *config, EFI_FILE *root_dir) {
|
||||
_cleanup_free_ char *content = NULL;
|
||||
size_t content_size, value = 0; /* avoid false maybe-uninitialized warning */
|
||||
size_t content_size;
|
||||
EFI_STATUS err;
|
||||
|
||||
assert(root_dir);
|
||||
@@ -1603,8 +1603,9 @@ static void config_load_defaults(Config *config, EFI_FILE *root_dir) {
|
||||
} else if (err != EFI_NOT_FOUND)
|
||||
log_error_status(err, "Error reading LoaderConfigTimeoutOneShot EFI variable: %m");
|
||||
|
||||
err = efivar_get_uint_string(MAKE_GUID_PTR(LOADER), u"LoaderConfigConsoleMode", &value);
|
||||
if (err == EFI_SUCCESS)
|
||||
uint64_t value;
|
||||
err = efivar_get_uint64_str16(MAKE_GUID_PTR(LOADER), u"LoaderConfigConsoleMode", &value);
|
||||
if (err == EFI_SUCCESS && value <= INT64_MAX)
|
||||
config->console_mode_efivar = value;
|
||||
|
||||
err = efivar_get_str16(MAKE_GUID_PTR(LOADER), u"LoaderEntryOneShot", &config->entry_oneshot);
|
||||
|
||||
@@ -21,11 +21,11 @@ EFI_STATUS efivar_set_str16(const EFI_GUID *vendor, const char16_t *name, const
|
||||
return efivar_set_raw(vendor, name, value, value ? strsize16(value) : 0, flags);
|
||||
}
|
||||
|
||||
EFI_STATUS efivar_set_uint_string(const EFI_GUID *vendor, const char16_t *name, size_t i, uint32_t flags) {
|
||||
EFI_STATUS efivar_set_uint64_str16(const EFI_GUID *vendor, const char16_t *name, uint64_t i, uint32_t flags) {
|
||||
assert(vendor);
|
||||
assert(name);
|
||||
|
||||
_cleanup_free_ char16_t *str = xasprintf("%zu", i);
|
||||
_cleanup_free_ char16_t *str = xasprintf("%" PRIu64, i);
|
||||
return efivar_set_str16(vendor, name, str, flags);
|
||||
}
|
||||
|
||||
@@ -112,19 +112,19 @@ EFI_STATUS efivar_get_str16(const EFI_GUID *vendor, const char16_t *name, char16
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
EFI_STATUS efivar_get_uint_string(const EFI_GUID *vendor, const char16_t *name, size_t *ret) {
|
||||
_cleanup_free_ char16_t *val = NULL;
|
||||
EFI_STATUS efivar_get_uint64_str16(const EFI_GUID *vendor, const char16_t *name, uint64_t *ret) {
|
||||
EFI_STATUS err;
|
||||
uint64_t u;
|
||||
|
||||
assert(vendor);
|
||||
assert(name);
|
||||
|
||||
_cleanup_free_ char16_t *val = NULL;
|
||||
err = efivar_get_str16(vendor, name, &val);
|
||||
if (err != EFI_SUCCESS)
|
||||
return err;
|
||||
|
||||
if (!parse_number16(val, &u, NULL) || u > SIZE_MAX)
|
||||
uint64_t u;
|
||||
if (!parse_number16(val, &u, NULL))
|
||||
return EFI_INVALID_PARAMETER;
|
||||
|
||||
if (ret)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
EFI_STATUS efivar_set_str16(const EFI_GUID *vendor, const char16_t *name, const char16_t *value, uint32_t flags);
|
||||
EFI_STATUS efivar_set_raw(const EFI_GUID *vendor, const char16_t *name, const void *buf, size_t size, uint32_t flags);
|
||||
EFI_STATUS efivar_set_uint_string(const EFI_GUID *vendor, const char16_t *name, size_t i, uint32_t flags);
|
||||
EFI_STATUS efivar_set_uint64_str16(const EFI_GUID *vendor, const char16_t *name, uint64_t i, uint32_t flags);
|
||||
EFI_STATUS efivar_set_uint32_le(const EFI_GUID *vendor, const char16_t *name, uint32_t value, uint32_t flags);
|
||||
EFI_STATUS efivar_set_uint64_le(const EFI_GUID *vendor, const char16_t *name, uint64_t value, uint32_t flags);
|
||||
void efivar_set_time_usec(const EFI_GUID *vendor, const char16_t *name, uint64_t usec);
|
||||
@@ -22,7 +22,7 @@ EFI_STATUS efivar_unset(const EFI_GUID *vendor, const char16_t *name, uint32_t f
|
||||
|
||||
EFI_STATUS efivar_get_str16(const EFI_GUID *vendor, const char16_t *name, char16_t **ret);
|
||||
EFI_STATUS efivar_get_raw(const EFI_GUID *vendor, const char16_t *name, void **ret, size_t *ret_size);
|
||||
EFI_STATUS efivar_get_uint_string(const EFI_GUID *vendor, const char16_t *name, size_t *ret);
|
||||
EFI_STATUS efivar_get_uint64_str16(const EFI_GUID *vendor, const char16_t *name, uint64_t *ret);
|
||||
EFI_STATUS efivar_get_uint32_le(const EFI_GUID *vendor, const char16_t *name, uint32_t *ret);
|
||||
EFI_STATUS efivar_get_uint64_le(const EFI_GUID *vendor, const char16_t *name, uint64_t *ret);
|
||||
EFI_STATUS efivar_get_boolean_u8(const EFI_GUID *vendor, const char16_t *name, bool *ret);
|
||||
|
||||
@@ -746,13 +746,13 @@ static void export_pcr_variables(
|
||||
* successfully, and encode in it which PCR was used. */
|
||||
|
||||
if (sections_measured > 0)
|
||||
(void) efivar_set_uint_string(MAKE_GUID_PTR(LOADER), u"StubPcrKernelImage", TPM2_PCR_KERNEL_BOOT, 0);
|
||||
(void) efivar_set_uint64_str16(MAKE_GUID_PTR(LOADER), u"StubPcrKernelImage", TPM2_PCR_KERNEL_BOOT, 0);
|
||||
if (parameters_measured > 0)
|
||||
(void) efivar_set_uint_string(MAKE_GUID_PTR(LOADER), u"StubPcrKernelParameters", TPM2_PCR_KERNEL_CONFIG, 0);
|
||||
(void) efivar_set_uint64_str16(MAKE_GUID_PTR(LOADER), u"StubPcrKernelParameters", TPM2_PCR_KERNEL_CONFIG, 0);
|
||||
if (sysext_measured > 0)
|
||||
(void) efivar_set_uint_string(MAKE_GUID_PTR(LOADER), u"StubPcrInitRDSysExts", TPM2_PCR_SYSEXTS, 0);
|
||||
(void) efivar_set_uint64_str16(MAKE_GUID_PTR(LOADER), u"StubPcrInitRDSysExts", TPM2_PCR_SYSEXTS, 0);
|
||||
if (confext_measured > 0)
|
||||
(void) efivar_set_uint_string(MAKE_GUID_PTR(LOADER), u"StubPcrInitRDConfExts", TPM2_PCR_KERNEL_CONFIG, 0);
|
||||
(void) efivar_set_uint64_str16(MAKE_GUID_PTR(LOADER), u"StubPcrInitRDConfExts", TPM2_PCR_KERNEL_CONFIG, 0);
|
||||
}
|
||||
|
||||
static void install_embedded_devicetree(
|
||||
|
||||
Reference in New Issue
Block a user