Re: [PATCH 0/6] efi/x86 mixed mode cleanups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 13, 2018 at 03:54:29PM +0200, Ard Biesheuvel wrote:
> Did you have any thoughts about how we could at least detect
> situations where we are invoking protocols that are not mixed-mode
> safe (i.e., they pass 64-bit quantities by value, which our current
> thunking routine does not take into account)

efi_thunk_64.S only supports five arguments AFAICS, we'd have to check
for each argument passed to efi_call_early() or efi_call_proto() if
the corresponding argument in the *_32_t protocol struct has sizeof(u64),
and BUILD_BUG_ON() if so.

Is it possible to retrieve the n-th element of a struct without knowing
its name?  Basically offsetof() but with a number instead of a name?
We have to check the size of the struct element, not the argument passed
in to efi_call_early() / efi_call_proto() because we pass in 64-bit
pointers (and possibly also integers) and fully expect that the upper
32-bit are disregarded.

Difficult. :-(

Lukas
--
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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux