x86: fix 27-rc crash on vsmp due to paravirt during module load
authorRavikiran G Thirumalai <kiran@scalex86.org>
Tue, 23 Sep 2008 05:58:47 +0000 (22:58 -0700)
committerIngo Molnar <mingo@elte.hu>
Tue, 23 Sep 2008 08:31:26 +0000 (10:31 +0200)
27-rc fails to boot up if configured to use modules.

Turns out vsmp_patch was marked __init, and vsmp_patch being the
pvops 'patch' routine for vsmp, a call to vsmp_patch just turns out
to execute a code page with series of 0xcc (POISON_FREE_INITMEM -- int3).

vsmp_patch has been marked with __init ever since pvops, however,
apply_paravirt can be called during module load causing calls to
freed memory location.

Since apply_paravirt can only be called during init/module load, make
vsmp_patch with "__init_or_module"

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

No differences found