• Mikulas Patocka's avatar
    dm integrity: conditionally disable "recalculate" feature · 5c024064
    Mikulas Patocka authored
    Otherwise a malicious user could (ab)use the "recalculate" feature
    that makes dm-integrity calculate the checksums in the background
    while the device is already usable. When the system restarts before all
    checksums have been calculated, the calculation continues where it was
    interrupted even if the recalculate feature is not requested the next
    time the dm device is set up.
    
    Disable recalculating if we use internal_hash or journal_hash with a
    key (e.g. HMAC) and we don't have the "legacy_recalculate" flag.
    
    This may break activation of a volume, created by an older kernel,
    that is not yet fully recalculated -- if this happens, the user should
    add the "legacy_recalculate" flag to constructor parameters.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Reported-by: default avatarDaniel Glockner <dg@emlix.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    5c024064
dm-integrity.c 129 KB