* Re: [kernel] Fix random crashes in x86-64 swsusp
@ 2004-10-07 6:35 Jan Beulich
0 siblings, 0 replies; 3+ messages in thread
From: Jan Beulich @ 2004-10-07 6:35 UTC (permalink / raw)
To: Pavel Machek; +Cc: linux-kernel
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!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [kernel] Fix random crashes in x86-64 swsusp
[not found] <s1648f6e.098@lucius.provo.novell.com>
@ 2004-10-07 7:51 ` Pavel Machek
0 siblings, 0 replies; 3+ messages in thread
From: Pavel Machek @ 2004-10-07 7:51 UTC (permalink / raw)
To: Jan Beulich; +Cc: linux-kernel
Hi!
> 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
I do not think we care enough about those few bytes to make sources
more complex. These functions are really small.
Pavel
> >>> 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!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [kernel] Fix random crashes in x86-64 swsusp
2004-10-06 22:06 ` Fix random crashes in x86-64 swsusp Pavel Machek
@ 2004-10-06 22:13 ` Andi Kleen
0 siblings, 0 replies; 3+ messages in thread
From: Andi Kleen @ 2004-10-06 22:13 UTC (permalink / raw)
To: kernel; +Cc: Rafael J. Wysocki, Andrew Morton, linux-kernel, agruen
On Thu, Oct 07, 2004 at 12:06:00AM +0200, Pavel Machek wrote:
> 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?
It's called CONFIG_INIT_DEBUG. But nobody uses it.
-Andi
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-10-07 7:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-07 6:35 [kernel] Fix random crashes in x86-64 swsusp Jan Beulich
[not found] <s1648f6e.098@lucius.provo.novell.com>
2004-10-07 7:51 ` Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2004-10-05 21:14 2.6.9-rc3[+recent swsusp patches]: swsusp kernel-preemption-unfriendly? Rafael J. Wysocki
2004-10-06 10:06 ` Rafael J. Wysocki
2004-10-06 10:12 ` Pavel Machek
2004-10-06 21:46 ` Rafael J. Wysocki
2004-10-06 22:06 ` Fix random crashes in x86-64 swsusp Pavel Machek
2004-10-06 22:13 ` [kernel] " Andi Kleen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®