【发布时间】:2013-04-20 14:00:17
【问题描述】:
我正在使用 linux 内核 (SLES11-SP2) 提供的 cmpxchg() 它的恐慌。 它崩溃的确切点在 2005 行:
if (cmpxchg(var, old, new) == old)
2002: 48 89 d8 mov %rbx,%rax
2005: f0 4d 0f b1 34 24 lock cmpxchg %r14,(%r12)
200b: 48 39 c3 cmp %rax,%rbx
200e: 74 27 je 2037 <atomicPatchFnPtr+0x77>
关于如何进行调试的任何线索?这是由于锁定变量的竞争条件而发生的吗? 还是我需要将此作为内核错误发布?
【问题讨论】:
标签: linux assembly linux-kernel x86 kernel