From: Eric Biggers <ebiggers@kernel.org>
To: fstests@vger.kernel.org
Cc: linux-fscrypt@vger.kernel.org
Subject: [PATCH v3 01/10] common/verity: add and use _fsv_can_enable()
Date: Thu, 29 Dec 2022 15:32:13 -0800 [thread overview]
Message-ID: <20221229233222.119630-2-ebiggers@kernel.org> (raw)
In-Reply-To: <20221229233222.119630-1-ebiggers@kernel.org>
From: Eric Biggers <ebiggers@google.com>
Replace _fsv_have_hash_algorithm() with a more general function
_fsv_can_enable() which checks whether 'fsverity enable' with the given
parameters works. For now it is just used with --hash-alg or with no
parameters, but soon it will be used with --block-size too.
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
common/verity | 17 ++++++-----------
tests/generic/575 | 2 +-
tests/generic/577 | 2 +-
3 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/common/verity b/common/verity
index f98dcb07..1a53a7ea 100644
--- a/common/verity
+++ b/common/verity
@@ -42,13 +42,7 @@ _require_scratch_verity()
# The filesystem may have fs-verity enabled but not actually usable by
# default. E.g., ext4 only supports verity on extent-based files, so it
# doesn't work on ext3-style filesystems. So, try actually using it.
- echo foo > $SCRATCH_MNT/tmpfile
- _disable_fsverity_signatures
- _fsv_enable $SCRATCH_MNT/tmpfile
- local status=$?
- _restore_prev_fsverity_signatures
- rm -f $SCRATCH_MNT/tmpfile
- if (( $status != 0 )); then
+ if ! _fsv_can_enable $SCRATCH_MNT/tmpfile; then
_notrun "$FSTYP verity isn't usable by default with these mkfs options"
fi
@@ -256,15 +250,16 @@ _fsv_create_enable_file()
_fsv_enable "$file" "$@"
}
-_fsv_have_hash_algorithm()
+_fsv_can_enable()
{
- local hash_alg=$1
- local test_file=$2
+ local test_file=$1
+ shift
+ local params=("$@")
_disable_fsverity_signatures
rm -f $test_file
head -c 4096 /dev/zero > $test_file
- _fsv_enable --hash-alg=$hash_alg $test_file &>> $seqres.full
+ _fsv_enable $test_file "${params[@]}" &>> $seqres.full
local status=$?
_restore_prev_fsverity_signatures
rm -f $test_file
diff --git a/tests/generic/575 b/tests/generic/575
index ffa6b61d..0ece8826 100755
--- a/tests/generic/575
+++ b/tests/generic/575
@@ -71,7 +71,7 @@ test_alg()
_fsv_scratch_begin_subtest "Check for expected measurement values ($alg)"
- if ! _fsv_have_hash_algorithm $alg $fsv_file; then
+ if ! _fsv_can_enable $fsv_file --hash-alg=$alg; then
if [ "$alg" = sha256 ]; then
_fail "Something is wrong - sha256 hash should always be available"
fi
diff --git a/tests/generic/577 b/tests/generic/577
index 5f7e0573..85d680df 100755
--- a/tests/generic/577
+++ b/tests/generic/577
@@ -112,7 +112,7 @@ _fsv_enable $fsv_file --signature=$sigfile.salted --salt=abcd
cmp $fsv_file $fsv_orig_file
echo -e "\n# Testing non-default hash algorithm"
-if _fsv_have_hash_algorithm sha512 $fsv_file; then
+if _fsv_can_enable $fsv_file --hash-alg=sha512; then
reset_fsv_file
_fsv_sign $fsv_orig_file $sigfile.sha512 --key=$keyfile \
--cert=$certfile --hash-alg=sha512 > /dev/null
--
2.39.0
next prev parent reply other threads:[~2022-12-29 23:35 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-29 23:32 [PATCH v3 00/10] xfstests: update verity tests for non-4K block and page size Eric Biggers
2022-12-29 23:32 ` Eric Biggers [this message]
2022-12-29 23:32 ` [PATCH v3 02/10] common/verity: set FSV_BLOCK_SIZE to an appropriate value Eric Biggers
2022-12-29 23:32 ` [PATCH v3 03/10] common/verity: use FSV_BLOCK_SIZE by default Eric Biggers
2022-12-29 23:32 ` [PATCH v3 04/10] common/verity: add _filter_fsverity_digest() Eric Biggers
2022-12-29 23:32 ` [PATCH v3 05/10] generic/572: support non-4K Merkle tree block size Eric Biggers
2022-12-29 23:32 ` [PATCH v3 06/10] generic/573: " Eric Biggers
2022-12-29 23:32 ` [PATCH v3 07/10] generic/577: " Eric Biggers
2022-12-29 23:32 ` [PATCH v3 08/10] generic/574: test multiple Merkle tree block sizes Eric Biggers
2022-12-29 23:32 ` [PATCH v3 09/10] generic/624: " Eric Biggers
2022-12-29 23:32 ` [PATCH v3 10/10] generic/575: test 1K Merkle tree block size Eric Biggers
2023-01-01 13:30 ` [PATCH v3 00/10] xfstests: update verity tests for non-4K block and page size Zorro Lang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221229233222.119630-2-ebiggers@kernel.org \
--to=ebiggers@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox