• Mikulas Patocka's avatar
    dm bufio: fix buffer alignment · f7879b4c
    Mikulas Patocka authored
    Commit 6b5e718c ("dm bufio: relax alignment constraint on slab
    cache") relaxed alignment on dm-bufio cache, however it may break
    dm-crypt or dm-integrity.
    
    dm-crypt and dm-integrity require that the size of bio vector entries
    (bv_len) is aligned on its sector size. bv_offset doesn't have to be
    aligned, but bv_len must be. XFS sends unaligned bios, but they do not
    cross page boundary, so the requirement for aligned bv_len is met.
    
    Commit 6b5e718c made dm-bufio send unaligned bios that cross page
    boundary, this could break dm-crypt and dm-integrity.
    
    Reinstates the alignment. Note that misaligned entries only happen when
    we use slab/slub debugging. Without debugging, the entries are always
    aligned.
    
    Fixes: 6b5e718c ("dm bufio: relax alignment constraint on slab cache")
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    f7879b4c
dm-bufio.c 47.9 KB