Hi, there is a kernel crash during when running our cryptsetup testsuite if using veritysetup with --use-tasklets option (try_verify_in_tasklet table option). With # veritysetup format /dev/sdb /dev/sdc # veritysetup open /dev/sdb test /dev/sdc --use-tasklets <root_hash> it generates BUG below, bisect point to 450e8dee51aa6fa1dd0f64073e88235f1a77b035 is the first bad commit commit 450e8dee51aa6fa1dd0f64073e88235f1a77b035 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Mar 10 16:02:29 2023 +0000 dm bufio: improve concurrent IO performance So, it is broken since kernel 6.4 ... ! (I wonder why we added dm-verity tasklet option when nobody apparently use it...) : ============================= : [ BUG: Invalid wait context ] : 6.6.0+ #170 Not tainted : ----------------------------- : ksoftirqd/2/25 is trying to lock: : ffff88810f57c6f8 (&bc->trees[i].lock){.+.+}-{3:3}, at: cache_get+0x46/0xc0 [dm_bufio] : other info that might help us debug this: : context-{2:2} : no locks held by ksoftirqd/2/25. : stack backtrace: : CPU: 2 PID: 25 Comm: ksoftirqd/2 Not tainted 6.6.0+ #170 : Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020 : Call Trace: : <TASK> : dump_stack_lvl+0x5c/0xc0 : dump_stack+0x10/0x20 : __lock_acquire+0xa3f/0x2800 : lock_acquire+0xd8/0x2d0 : ? cache_get+0x46/0xc0 [dm_bufio] : ? __this_cpu_preempt_check+0x13/0x20 : down_read+0x30/0x270 : ? cache_get+0x46/0xc0 [dm_bufio] : cache_get+0x46/0xc0 [dm_bufio] : new_read+0x53/0x1d0 [dm_bufio] : dm_bufio_get+0x11/0x20 [dm_bufio] : verity_verify_level+0x17d/0x230 [dm_verity] : verity_hash_for_block+0x37/0xe0 [dm_verity] : verity_verify_io+0x124/0x5d0 [dm_verity] : ? find_held_lock+0x31/0x80 : ? __this_cpu_preempt_check+0x13/0x20 : ? percpu_ref_put_many.constprop.0+0x6a/0x110 : ? blk_queue_exit+0xd/0x10 : ? __blk_mq_free_request+0x65/0xc0 : ? tasklet_action_common.isra.0+0x34/0x250 : verity_tasklet+0x11/0x90 [dm_verity] : tasklet_action_common.isra.0+0xdf/0x250 : tasklet_action+0x28/0x30 : __do_softirq+0xcf/0x459 : run_ksoftirqd+0x32/0x50 : smpboot_thread_fn+0x17c/0x220 : ? sort_range+0x20/0x20 : kthread+0xfc/0x130 : ? kthread_complete_and_exit+0x20/0x20 : ret_from_fork+0x31/0x50 : ? kthread_complete_and_exit+0x20/0x20 : ret_from_fork_asm+0x11/0x20 : </TASK> Thanks, Milan