On 21 November 2016 at 12:41, David Howells <dhowells@xxxxxxxxxx> wrote: > Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote: > >> > Looking in efi_get_secureboot(), is there a reason: >> > >> > efi_guid_t var_guid = EFI_GLOBAL_VARIABLE_GUID; >> > >> > isn't static const? >> > >> >> Not a good one, no. It used to be static const, but for some reason, >> commit 30d7bf034c03 ("efi/arm64: Check SetupMode when determining >> Secure Boot status") removed the static and the const (and I reviewed >> it and did not complain AFAIR) >> I'll gladly take a patch that reinstates that, though. > > Also, is there a reason that: > > typedef efi_status_t efi_get_variable_t (efi_char16_t *name, efi_guid_t *vendor, u32 *attr, > unsigned long *data_size, void *data); > > Doesn't have const name and vendor? > Yes, but not a good one either. Sadly, the prototypes in the UEFI spec completely ignore constness, and these definitions are intended to be identical to the ones in the spec. This also means, for instance, that most UEFI firmwares stores these kinds of GUIDs in read-write memory, which is a potential goldmine for hackers, given how GUIDs are UEFI's duct tape, i.e., keeping the world together. -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html