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 compression in this case.

Signed-off-by: Jan Prusakowski <jprusakow...@google.com>
---
 common/encrypt | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/common/encrypt b/common/encrypt
index d4f6e3dc..c25ff5a4 100644
--- a/common/encrypt
+++ b/common/encrypt
@@ -790,6 +790,13 @@ _do_verify_ciphertext_for_encryption_policy()
        _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 $dst
+               fi
                cp $src $dst
                inode=$(stat -c %i $dst)
                blocklist=$(_get_ciphertext_block_list $dst)
-- 
2.51.0.384.g4c02a37b29-goog



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to