• Mikulas Patocka's avatar
    dm crypt: add cond_resched() to dmcrypt_write() · fb294b1c
    Mikulas Patocka authored
    The loop in dmcrypt_write may be running for unbounded amount of time,
    thus we need cond_resched() in it.
    
    This commit fixes the following warning:
    
    [ 3391.153255][   C12] watchdog: BUG: soft lockup - CPU#12 stuck for 23s! [dmcrypt_write/2:2897]
    ...
    [ 3391.387210][   C12] Call trace:
    [ 3391.390338][   C12]  blk_attempt_bio_merge.part.6+0x38/0x158
    [ 3391.395970][   C12]  blk_attempt_plug_merge+0xc0/0x1b0
    [ 3391.401085][   C12]  blk_mq_submit_bio+0x398/0x550
    [ 3391.405856][   C12]  submit_bio_noacct+0x308/0x380
    [ 3391.410630][   C12]  dmcrypt_write+0x1e4/0x208 [dm_crypt]
    [ 3391.416005][   C12]  kthread+0x130/0x138
    [ 3391.419911][   C12]  ret_from_fork+0x10/0x18
    Reported-by: default avataryangerkun <yangerkun@huawei.com>
    Fixes: dc267621 ("dm crypt: offload writes to thread")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
    fb294b1c
dm-crypt.c 95 KB