Included below is the information you requested. uname -a says:
Linux test-desktop 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 2006 i686 GNU/Linux
Note that:
1) The bug can be worked around by specifying the "noreplacement" kernel option
2) The bug has also been backported to the Dapper SMP kernel, but without the workaround
3) As I said, this is the patch to arch/i386/kernel/alternative.c which fixes the problem:
Included below is the information you requested. uname -a says:
Linux test-desktop 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 2006 i686 GNU/Linux
Note that:
1) The bug can be worked around by specifying the "noreplacement" kernel option kernel/ alternative. c which fixes the problem:
2) The bug has also been backported to the Dapper SMP kernel, but without the workaround
3) As I said, this is the patch to arch/i386/
void __init alternative_ instructions( void) init_pages( "SMP alternatives", instructions( voi smp_alt_ end); save(flags) ; alternatives( __alt_instructi ons, __alt_instructi ons_end) ;
{
+ unsigned long flags;
if (no_replacement) {
printk(KERN_INFO "(SMP-)alternatives turned off\n");
free_
@@ -396,6 +397,8 @@ void __init alternative_
(unsigned long)__
return;
}
+
+ local_irq_
apply_
/* switch to patch-once- at-boottime- only mode and free the instructions( voi smp_switch( 0); restore( flags);
@@ -433,4 +436,5 @@ void __init alternative_
alternatives_
}
#endif
-}
+ local_irq_
+}