- Two queue_limits stacking fixes: disable discards if underlying driver
  does.  And propagate BDI_CAP_STABLE_WRITES to fix sporadic checksum
  errors.

- Fix that reverts a DM core limit that wasn't needed given that
  dm-crypt was already updated to impose an equivalent limit.

- Fix dm-init to properly establish 'const' for __initconst array.

- Fix deadlock in DM integrity target that occurs when overlapping IO is
  being issued to it.  And two smaller fixes to the DM integrity target.
dm integrity: fix deadlock with overlapping I/O

dm-integrity will deadlock if overlapping I/O is issued to it, the bug
was introduced by commit 724376a04d1a ("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: 724376a04d1a ("dm integrity: implement fair range locks")
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
1 file changed