lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20121226080019.GB11555@liondog.tnic> Date: Wed, 26 Dec 2012 09:00:19 +0100 From: Borislav Petkov <bp@...en8.de> To: Stefan Hasko <hasko.stevo@...il.com> Cc: Matt Fleming <matt.fleming@...el.com>, "H. Peter Anvin" <hpa@...or.com>, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, x86@...nel.org, linux-efi@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH] arch: x86: boot: compressed: eboot: fix cast warnings on 32b platforms On Sat, Dec 22, 2012 at 11:23:25AM +0100, Stefan Hasko wrote: > Fixed different size cast warnings in function setup_efi_pci > > Signed-off-by: Stefan Hasko <hasko.stevo@...il.com> You might want to add the actual compiler warnings to the commit message: arch/x86/boot/compressed/eboot.c: In function ‘setup_efi_pci’: arch/x86/boot/compressed/eboot.c:259:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] arch/x86/boot/compressed/eboot.c:262:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] arch/x86/boot/compressed/eboot.c:348:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] arch/x86/boot/compressed/eboot.c:350:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] And yes, I see them in all{mod,yes}config builds here too. The issue, AFAICT, is that setup_data is __u64 to obviously accomodate 8-byte pointers on x86-64 but on 32-bit they're half the size. And we obviously cannot change struct setup_data since this is an ABI so I'd guess the casts to native pointer sizes are ok. So Acked-by: Borislav Petkov <bp@...en8.de> > --- > arch/x86/boot/compressed/eboot.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c > index b1942e2..dd99fca 100644 > --- a/arch/x86/boot/compressed/eboot.c > +++ b/arch/x86/boot/compressed/eboot.c > @@ -256,10 +256,10 @@ static efi_status_t setup_efi_pci(struct boot_params *params) > int i; > struct setup_data *data; > > - data = (struct setup_data *)params->hdr.setup_data; > + data = (struct setup_data *)(uintptr_t)params->hdr.setup_data; > > while (data && data->next) > - data = (struct setup_data *)data->next; > + data = (struct setup_data *)(uintptr_t)data->next; > > status = efi_call_phys5(sys_table->boottime->locate_handle, > EFI_LOCATE_BY_PROTOCOL, &pci_proto, > @@ -345,9 +345,9 @@ static efi_status_t setup_efi_pci(struct boot_params *params) > memcpy(rom->romdata, pci->romimage, pci->romsize); > > if (data) > - data->next = (uint64_t)rom; > + data->next = (uintptr_t)rom; > else > - params->hdr.setup_data = (uint64_t)rom; > + params->hdr.setup_data = (uintptr_t)rom; > > data = (struct setup_data *)rom; > > -- > 1.7.10.4 Thanks. -- Regards/Gruss, Boris. Sent from a fat crate under my desk. Formatting is fine. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists