verify_ciphertext_for_encryption_policy() checks if encryption works
correctly by reading encrypted file's contents directly from a block device and
comparing it to a known good ciphertext.
This, however, won't work if the test file is also compressed. So this patch
adds a check if a test file is compressed and disables its compression in this
case.
Signed-off-by: Jan Prusakowski <jprusakowski@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Reviewed-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Zorro Lang <zlang@kernel.org>
_set_encpolicy $dir $keyspec $set_encpolicy_args -f $policy_flags
for src in $tmp.testfile_*; do
dst=$dir/${src##*.}
+ # To make sure the test file is not compressed we create an empty one
+ # and disable compression first (F2FS won't allow resetting the
+ # compression flag if the file has data already in it).
+ touch $dst
+ if lsattr $dst | grep -qE ".+c.+ $dst" ; then
+ chattr -c +m $dst
+ fi
cp $src $dst
inode=$(stat -c %i $dst)
blocklist=$(_get_ciphertext_block_list $dst)