• Mikulas Patocka's avatar
    dm integrity: fix deadlock with overlapping I/O · 4ed319c6
    Mikulas Patocka authored
    dm-integrity will deadlock if overlapping I/O is issued to it, the bug
    was introduced by commit 724376a0 ("dm integrity: implement fair
    range locks").  Users rarely use overlapping I/O so this bug went
    undetected until now.
    
    Fix this bug by correcting, likely cut-n-paste, typos in
    ranges_overlap() and also remove a flawed ranges_overlap() check in
    remove_range_unlocked().  This condition could leave unprocessed bios
    hanging on wait_list forever.
    
    Cc: stable@vger.kernel.org # v4.19+
    Fixes: 724376a0 ("dm integrity: implement fair range locks")
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    4ed319c6
dm-integrity.c 102 KB