* Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote: > Mixed mode allows a kernel built for x86_64 to interact with 32-bit > EFI firmware, but requires us to define all struct definitions carefully > when it comes to pointer sizes. efi_pci_io_protocol32 currently uses a > void* for the 'romimage' field, which will be interpreted as a 64-bit > field on such kernels, potentially resulting in bogus memory references > and subsequent crashes. Yeah, so the first confusion I ran into is: s/efi_pci_io_protocol32 /efi_pci_io_protocol_32 Once I found it in the code I made this change: s/efi: fix efi_pci_io_protocol32 prototype for mixed mode /efi: Fix 'struct efi_pci_io_protocol32' definition for mixed mode Because we normally use the 'prototype' name for function declarations, not for data type definitions. Adding 'struct' and putting it between quotes makes it obvious at a glance that we are talking about a structure definition here. BTW., since it's marked -stable, due to: > potentially resulting in bogus memory references > and subsequent crashes. I'm moving it to efi/urgent: the principle here is that if a patch is urgent enough for -stable then it should generally not wait for the next merge window. Also, because this actually fixes a crash, I extended the title to spell this out more clearly: Subject: efi: Avoid potential crashes, fix the 'struct efi_pci_io_protocol_32' definition for mixed mode ... which also makes it easier for maintainers of older stable kernels to decide whether to backport the patch or not. Anyway, the patch is looking good otherwise, no need to resend. Thanks, Ingo -- 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