最近看到多核hook安全的问题,在驱动里面如果hook多条指令会碰到其他cpu读取指令读到中间某条指令的问题,用hot patch办法,hook函数开头的mov edi,edi执行短跳再长跳的话相对比较安全一点,但是看到这篇文章:http://msmvps.com/blogs/kernelmustard/archive/2005/04/25/44413.aspx 里面有句话:it's also SMP-safe, cause CPU will re-read instruction when it detects a write to any of the instruction bytes while,貌似是说cpu如果发现正在读取的指令被改的话会重新读取一遍,这样的话不是就不用多核同步了吗,因为其他CPU发现读取的指令正在被修改,还仅仅修改这一条指令,那不就不用同步了吗。。。。求解释,到底要不要先暂停其他cpu??