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
| ||
|
Date: Fri, 04 Dec 2009 17:25:20 -0800 From: "H. Peter Anvin" <hpa@...or.com> To: Rakib Mullick <rakib.mullick@...il.com>, "Cihula, Joseph" <joseph.cihula@...el.com>, Shane Wang <shane.wang@...el.com> CC: Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>, LKML <linux-kernel@...r.kernel.org>, x86@...nel.org Subject: Re: [PATCH] x86: Call __va() to get trampoline_base. On 12/04/2009 08:26 AM, Rakib Mullick wrote: > x86, tboot: Call __va() to get trampoline_base. > > Do not pass trampoline_base as parameter of virt_to_phys. > Because trampoline_base is in .cpuinit.data section, but its > called from non-cpuinit function. So use __va(TRAMPOLINE_BASE) > instead of trampoline_base, which helps to fix section mismatch. > > We were warned by the following warning: > > LD arch/x86/kernel/built-in.o > WARNING: arch/x86/kernel/built-in.o(.text+0x13c5f): Section mismatch > in reference from the function tboot_setup_sleep() to the variable > .cpuinit.data:trampoline_base > The function tboot_setup_sleep() references > the variable __cpuinitdata trampoline_base. > This is often because tboot_setup_sleep lacks a __cpuinitdata > annotation or the annotation of trampoline_base is wrong. > > Signed-off-by: Rakib Mullick <rakib.mullick@...il.com> This is a bug, but this isn't the right fix. trampoline.c has: #if defined(CONFIG_X86_64) && defined(CONFIG_ACPI_SLEEP) #define __trampinit #define __trampinitdata #else #define __trampinit __cpuinit #define __trampinitdata __cpuinitdata #endif ... because on i386 we don't use the trampoline for ACPI return. This means one of these is true: - Either we need the AP trampoline for tboot on i386, and the above definition in trampoline.c needs to be fixed; or - The CONFIG_X86_TRAMPOLINE in tboot.c is too generous, and in fact it needs to be set to defined(CONFIG_X86_64) && defined(CONFIG_ACPI_SLEEP) just like the above code. Sending to Joseph and Shane to figure out... -hpa -- 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