[Devel] [PATCH] cbt: bitmap corruption caused by ipi

2018-10-11 Thread Vasiliy Averin
IPI generated by cbt_flush_cache() can interrupt blk_cbt_add() in "bad" places and lead to bitmap corruption. CPU A CPU B blk_cbt_add() ... cbt_flush_cache() old = *ex;submit IPI ex->start = start; interrupt

[Devel] [patch] cbt: selfdeadlock in __blk_cbt_set()

2018-10-11 Thread Vasiliy Averin
__blk_cbt_set() can be interrupted by IPI __cbt_flush_cpu_cache() that will be cycled forever in spin_lock_page() because page was already locked by interrupted process. #5 [880071e89f50] nmi at 81569781 [exception RIP: __blk_cbt_set+133] RIP: 812b1a35 RSP:

[Devel] [PATCH] cbt: bitmap corruption caused by ipi

2018-10-11 Thread Vasiliy Averin
IPI generated by cbt_flush_cache() can interrupt blk_cbt_add() in "bad" places and lead to bitmap corruption. CPU A CPU B blk_cbt_add() ... cbt_flush_cache() old = *ex;submit IPI ex->start = start; interrupt