lkml.org 
[lkml]   [2004]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [kernel] Fix random crashes in x86-64 swsusp
Maybe not really a final version: The __init should remain there if
suspend/resume isn't enabled in the configuration. I'd guess you want
something for this paralleling the __cpuinit/__devinit/module_init stuff
(if these occur very rarely, then doing this inline may of course also
be an acceptable choice). Jan

>>> pavel@suse.cz 07.10.04 00:06:00 >>>
Hi!

fix_processor_context was calling functions marked __init on x86-64;
bad idea. Maybe we should memset freed memory to zero so such bugs are
prevented?

Thanks to Rafael for keeping notifying me about this bug, and someone
get me yet another brown paper bag.

Anyway, this should fix it, please apply,
Pavel

--- clean-suse/arch/x86_64/ia32/syscall32.c 2004-06-22
12:36:00.000000000 +0200
+++ linux-suse/arch/x86_64/ia32/syscall32.c 2004-10-06
23:58:27.000000000 +0200
@@ -76,7 +76,8 @@

__initcall(init_syscall32);

-void __init syscall32_cpu_init(void)
+/* May not be __init: called during resume */
+void syscall32_cpu_init(void)
{
if (use_sysenter < 0)
use_sysenter = (boot_cpu_data.x86_vendor ==
X86_VENDOR_INTEL);
--- clean-suse/arch/x86_64/kernel/setup64.c 2004-10-05
11:36:21.000000000 +0200
+++ linux-suse/arch/x86_64/kernel/setup64.c 2004-10-06
23:59:08.000000000 +0200
@@ -195,7 +195,8 @@
char boot_exception_stacks[N_EXCEPTION_STACKS * EXCEPTION_STKSZ]
__attribute__((section(".bss.page_aligned")));

-void __init syscall_init(void)
+/* May not be marked __init: used by software suspend */
+void syscall_init(void)
{
/*
* LSTAR and STAR live in a bit strange symbiosis.
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:06    [W:0.052 / U:1.624 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site