1
0
mirror of https://git.code.sf.net/p/linux-ima/ima-evm-utils synced 2025-04-27 22:32:31 +02:00

Fix fsverity.test mount failure for ppc64

fsverity requires fs blocksize to be equal to pagesoze, which is
different on ppc64 (64K). Default mkfs blocksize if 4K. This difference
causes mount failure and following error message:

  INFO: Mounting loopback filesystem
  mount: /tmp/fsverity-test: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
         dmesg(1) may have more information after failed mount system call.
  FAILURE: mounting loopback filesystem

It's said this limitation is removed in Linux v6.3, but for backward
compatibility better to leave workaround for it.

Fixes: b259a2b ("tests: add fsverity measurement test")
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
Tested-by: Nageswara R Sastry <rnsastry@linux.ibm.com>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
This commit is contained in:
Vitaly Chikunov 2023-03-11 12:16:44 +03:00 committed by Mimi Zohar
parent 0924a739e2
commit 29c4268764

View File

@ -120,6 +120,9 @@ create_loopback_file() {
case $fs_type in
ext4|f2fs)
options="-O verity"
# verity requires blocksize to be equal to pagesize.
pagesize=$(getconf PAGE_SIZE)
[ "$pagesize" -eq 4096 ] || options+=" -b $pagesize"
;;
btrfs)
;;
@ -136,7 +139,7 @@ create_loopback_file() {
fi
echo "INFO: Building an $fs_type filesystem"
if ! mkfs -t "$fs_type" -q "${TST_IMG}" "$options"; then
if ! mkfs -t "$fs_type" -q "${TST_IMG}" $options; then
echo "${RED}FAILURE: Creating $fs_type filesystem${NORM}"
exit "$FAIL"
fi