Re: [PATCH -tip] x86: acpi/sleep.c saved_magic fix overflow

From: Cyrill Gorcunov
Date: Fri Apr 10 2009 - 13:51:03 EST


[Jaswinder Singh Rajput - Fri, Apr 10, 2009 at 11:06:55PM +0530]
| Impact: fix overflow
|
| Constant 0x123456789abcdef0 is so big for a long.
| So using saved_magic 0x12345678 for both 32 and 64 bit.
|
| Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
| ---
| arch/x86/kernel/acpi/sleep.c | 3 +--
| 1 files changed, 1 insertions(+), 2 deletions(-)
|
| diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
| index 7c243a2..1ad317a 100644
| --- a/arch/x86/kernel/acpi/sleep.c
| +++ b/arch/x86/kernel/acpi/sleep.c
| @@ -94,7 +94,6 @@ int acpi_save_state_mem(void)
| #ifndef CONFIG_64BIT
| header->pmode_entry = (u32)&wakeup_pmode_return;
| header->pmode_cr3 = (u32)(swsusp_pg_dir - __PAGE_OFFSET);
| - saved_magic = 0x12345678;
| #else /* CONFIG_64BIT */
| header->trampoline_segment = setup_trampoline() >> 4;
| #ifdef CONFIG_SMP
| @@ -104,8 +103,8 @@ int acpi_save_state_mem(void)
| initial_gs = per_cpu_offset(smp_processor_id());
| #endif
| initial_code = (unsigned long)wakeup_long64;
| - saved_magic = 0x123456789abcdef0;
| #endif /* CONFIG_64BIT */
| + saved_magic = 0x12345678;
|
| return 0;
| }
| --
| 1.6.0.6
|

Hi Jaswinder,

actually long on x86-64 is 8 bytes in size.

Cyrill
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/