diff options
author | Matt Fleming <matt.fleming@intel.com> | 2014-03-17 10:57:00 +0000 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2014-04-17 13:53:43 +0100 |
commit | a5d92ad32dad94fd8f3f61778561d532bb3a2f77 (patch) | |
tree | 16c7c63f80dedd7996d0efb341aa34ba8b295993 /include/linux/efi.h | |
parent | e003bbee2a6a19a4c733335989284caf1b179e0d (diff) |
efivars: Stop passing a struct argument to efivar_validate()
In preparation for compat support, we can't assume that user variable
object is represented by a 'struct efi_variable'. Convert the validation
functions to take the variable name as an argument, which is the only
piece of the struct that was ever used anyway.
Cc: Mike Waychison <mikew@google.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'include/linux/efi.h')
-rw-r--r-- | include/linux/efi.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h index 82d0abb2b19..6a4d8e27d1d 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h @@ -1039,8 +1039,10 @@ struct efivars { * and we use a page for reading/writing. */ +#define EFI_VAR_NAME_LEN 1024 + struct efi_variable { - efi_char16_t VariableName[1024/sizeof(efi_char16_t)]; + efi_char16_t VariableName[EFI_VAR_NAME_LEN/sizeof(efi_char16_t)]; efi_guid_t VendorGuid; unsigned long DataSize; __u8 Data[1024]; @@ -1122,7 +1124,7 @@ int efivar_entry_iter(int (*func)(struct efivar_entry *, void *), struct efivar_entry *efivar_entry_find(efi_char16_t *name, efi_guid_t guid, struct list_head *head, bool remove); -bool efivar_validate(struct efi_variable *var, u8 *data, unsigned long len); +bool efivar_validate(efi_char16_t *var_name, u8 *data, unsigned long len); extern struct work_struct efivar_work; void efivar_run_worker(void); |