Lines Matching +full:entry +full:- +full:name

1 // SPDX-License-Identifier: GPL-2.0+
39 while (offset <= len - sizeof(*node) && in validate_device_path()
40 node->length >= sizeof(*node) && in validate_device_path()
41 node->length <= len - offset) { in validate_device_path()
42 offset += node->length; in validate_device_path()
44 if ((node->type == EFI_DEV_END_PATH || in validate_device_path()
45 node->type == EFI_DEV_END_PATH2) && in validate_device_path()
46 node->sub_type == EFI_DEV_END_ENTIRE) in validate_device_path()
53 * If we're here then either node->length pointed past the end in validate_device_path()
64 /* An array of 16-bit integers */ in validate_boot_order()
91 /* A valid entry must be at least 8 bytes */ in validate_load_option()
101 desclength = ucs2_strsize((efi_char16_t *)(buffer + 6), len - 6) + 2; in validate_load_option()
103 /* Each boot entry must have a descriptor */ in validate_load_option()
126 /* A single 16-bit integer */ in validate_uint16()
152 char *name; member
165 * Note that it's sorted by {vendor,name}, but globbed names must come after
166 * any other name with the same prefix.
191 * @var_name: an array of @len non-NUL characters.
192 * @match_name: a NUL-terminated pattern string, optionally ending in "*". A
195 * @match: on output, the number of non-wildcard characters in @match_name
217 * We've reached a non-wildcard char in @match_name. in variable_matches()
232 char *name; in efivar_get_utf8name() local
234 /* name, plus '-', plus GUID, plus NUL*/ in efivar_get_utf8name()
235 name = kmalloc(len + 1 + EFI_VARIABLE_GUID_LEN + 1, GFP_KERNEL); in efivar_get_utf8name()
236 if (!name) in efivar_get_utf8name()
239 ucs2_as_utf8(name, name16, len); in efivar_get_utf8name()
241 name[len] = '-'; in efivar_get_utf8name()
243 efi_guid_to_str(vendor, name + len + 1); in efivar_get_utf8name()
245 name[len + EFI_VARIABLE_GUID_LEN+1] = '\0'; in efivar_get_utf8name()
248 strreplace(name, '/', '!'); in efivar_get_utf8name()
250 return name; in efivar_get_utf8name()
269 for (i = 0; variable_validate[i].name[0] != '\0'; i++) { in efivar_validate()
270 const char *name = variable_validate[i].name; in efivar_validate() local
276 if (variable_matches(utf8_name, utf8_size+1, name, &match)) { in efivar_validate()
299 for (i = 0; variable_validate[i].name[0] != '\0'; i++) { in efivar_variable_is_removable()
304 variable_validate[i].name, &match)) { in efivar_variable_is_removable()
328 * The variable name is, by definition, a NULL-terminated in var_name_strnsize()
333 c = variable_name[(len / sizeof(c)) - 1]; in var_name_strnsize()
358 printk(KERN_WARNING "efivars: duplicate variable: %s-%pUl\n", in dup_variable_bug()
364 * efivar_init - build the initial list of EFI variables
366 * @data: function-specific data to pass to @func
386 return -ENOMEM; in efivar_init()
413 * same variable name on multiple calls to in efivar_init()
416 * we'll ever see a different variable name, in efivar_init()
433 err = -EOPNOTSUPP; in efivar_init()
439 pr_warn("efivars: Variable name size exceeds maximum (%lu > 512)\n", in efivar_init()
459 * efivar_entry_delete - delete variable
460 * @entry: entry containing variable to delete
463 * responsibility to free @entry (by deleting the dentry/inode) once
466 * Returns 0 on success, -EINTR if we can't grab the semaphore,
469 int efivar_entry_delete(struct efivar_entry *entry) in efivar_entry_delete() argument
478 status = efivar_set_variable_locked(entry->var.VariableName, in efivar_entry_delete()
479 &entry->var.VendorGuid, in efivar_entry_delete()
489 * efivar_entry_size - obtain the size of a variable
490 * @entry: entry for this variable
493 int efivar_entry_size(struct efivar_entry *entry, unsigned long *size) in efivar_entry_size() argument
504 status = efivar_get_variable(entry->var.VariableName, in efivar_entry_size()
505 &entry->var.VendorGuid, NULL, size, NULL); in efivar_entry_size()
515 * __efivar_entry_get - call get_variable()
516 * @entry: read data for this variable
525 int __efivar_entry_get(struct efivar_entry *entry, u32 *attributes, in __efivar_entry_get() argument
530 status = efivar_get_variable(entry->var.VariableName, in __efivar_entry_get()
531 &entry->var.VendorGuid, in __efivar_entry_get()
538 * efivar_entry_get - call get_variable()
539 * @entry: read data for this variable
544 int efivar_entry_get(struct efivar_entry *entry, u32 *attributes, in efivar_entry_get() argument
552 err = __efivar_entry_get(entry, attributes, size, data); in efivar_entry_get()
559 * efivar_entry_set_get_size - call set_variable() and get new size (atomic)
560 * @entry: entry containing variable to set and get
568 * Atomically call set_variable() for @entry and if the call is
572 * Returns 0 on success, -EINVAL if the variable data is invalid,
573 * -ENOSPC if the firmware does not have enough available space, or a
580 int efivar_entry_set_get_size(struct efivar_entry *entry, u32 attributes, in efivar_entry_set_get_size() argument
583 efi_char16_t *name = entry->var.VariableName; in efivar_entry_set_get_size() local
584 efi_guid_t *vendor = &entry->var.VendorGuid; in efivar_entry_set_get_size()
590 if (efivar_validate(*vendor, name, data, *size) == false) in efivar_entry_set_get_size()
591 return -EINVAL; in efivar_entry_set_get_size()
601 status = efivar_set_variable_locked(name, vendor, attributes, *size, in efivar_entry_set_get_size()
617 status = efivar_get_variable(entry->var.VariableName, in efivar_entry_set_get_size()
618 &entry->var.VendorGuid, in efivar_entry_set_get_size()