On 01/04/13 16:13, Matthew Garrett wrote: > EFI variables can be flagged as being accessible only within boot services. > This makes it awkward for us to figure out how much space they use at > runtime. In theory we could figure this out by simply comparing the results > from QueryVariableInfo() to the space used by all of our variables, but > that fails if the platform doesn't garbage collect on every boot. Thankfully, > calling QueryVariableInfo() while still inside boot services gives a more > reliable answer. This patch passes that information from the EFI boot stub > up to the efivars code, letting us calculate a reasonably accurate value. > > Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx> > --- > arch/x86/boot/compressed/eboot.c | 47 +++++++++++++++++++++++++++++++++++ > arch/x86/include/asm/efi.h | 10 ++++++++ > arch/x86/include/uapi/asm/bootparam.h | 1 + > arch/x86/platform/efi/efi.c | 21 ++++++++++++++++ > drivers/firmware/efivars.c | 29 +++++++++++++++++++++ > 5 files changed, 108 insertions(+) We're fixing a regression in efivars.c, but only for those users that boot via the EFI boot stub? That seems likely to upset some people. Introducing new features via the EFI boot stub is fine, and working around firmware bugs so that we can use some feature is also cool, but we can't start fixing regressions from other subsystems in the EFI boot stub. -- Matt Fleming, Intel Open Source Technology Center -- 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