From: Andi Kleen The memset for C stepping K8 was broken. This broke mainly CONFIG_SLAB_DEBUG because memset(...., 0, ...) still worked correctly. Thanks to Manfred Spraul for giving me the right cue. arch/x86_64/lib/memset.S | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN arch/x86_64/lib/memset.S~x86_64-memset-fix arch/x86_64/lib/memset.S --- 25/arch/x86_64/lib/memset.S~x86_64-memset-fix 2004-01-02 20:02:15.000000000 -0800 +++ 25-akpm/arch/x86_64/lib/memset.S 2004-01-02 20:02:15.000000000 -0800 @@ -113,7 +113,7 @@ memset_c: /* expand byte value */ movzbl %sil,%esi movabs $0x0101010101010101,%rax - mul %esi /* with rax, clobbers rdx */ + mulq %rsi /* with rax, clobbers rdx */ rep stosq movl %r8d,%ecx _