dm-crypt: don't modify the data when using authenticated encryption
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 19 Feb 2024 20:30:10 +0000 (21:30 +0100)
committerMike Snitzer <snitzer@kernel.org>
Tue, 20 Feb 2024 18:34:31 +0000 (13:34 -0500)
commit50c70240097ce41fe6bce6478b80478281e4d0f7
treef44173832624cc6b0e0f28059ccf99dfa871c812
parent9177f3c0dea6143d05cac1bbd28668fd0e216d11
dm-crypt: don't modify the data when using authenticated encryption

It was said that authenticated encryption could produce invalid tag when
the data that is being encrypted is modified [1]. So, fix this problem by
copying the data into the clone bio first and then encrypt them inside the
clone bio.

This may reduce performance, but it is needed to prevent the user from
corrupting the device by writing data with O_DIRECT and modifying them at
the same time.

[1] https://lore.kernel.org/all/20240207004723.GA35324@sol.localdomain/T/

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-crypt.c