On 24/05/2017 07:04, Longpeng (Mike) wrote: >>> it crashed at *1ec1* and %rax get a wrong value(0xdead000000100100) at *1e92*, >>> it seems the *blocked_vcpu_on_cpu* list is corrupted, but kvm only access this >>> list in pre_block/post_block/wakeup_handler, and these three functions seems good. >>> >>> kvm version is 4.4-stable. >>> >>> Do you have any ideas? Any suggestion would be greatly appreciated, thanks! >>> >> Is this only seen with posted interrupt support enabled? Booting with >> intremap=nopost on the kernel commandline would disable it. Thanks, > > We tested with PI support enabled, but we not sure if it only occurs with PI > enabled yet. This code should not run at all with PI disabled, since the handler is only reachable through an IRTE. As you said, the list manipulation in those function is fairly simple. If you have a reproducer, you can try running it with CONFIG_LIST_DEBUG and see what you get. Thanks, Paolo