public inbox for fstests@vger.kernel.org
 help / color / mirror / Atom feed
From: Eryu Guan <guan@eryu.me>
To: Theodore Ts'o <tytso@mit.edu>
Cc: fstests@vger.kernel.org, Leah Rumancik <leah.rumancik@gmail.com>
Subject: Re: [PATCH] ext4/048: skip test of filename wipe if journal checkpoint is not supported
Date: Sun, 4 Jul 2021 18:47:22 +0800	[thread overview]
Message-ID: <YOGRukqZFQTb36MS@desktop> (raw)
In-Reply-To: <20210621164851.1808923-1-tytso@mit.edu>

On Mon, Jun 21, 2021 at 12:48:51PM -0400, Theodore Ts'o wrote:
> ext4/048 will fail when running on older kernels that don't support
> the filename wipe feature.  The journal checkpoint ioctl is a related

I think that depends on if we treat it as a feature or a bugfix. We
should let the test fail on old kernels if that's a bugfix, and skip the
test if it's a feature. Apparently, we take it as a feature here.

> feature, and landed just a little bit after filename wipe feature, so
> use support for the journal checkpoint ioctl as a proxy for support
> for the filename wipe feature.

This seems fragile, they're related features but not always bounded
together, I think it's possible for distros developers decide to
backport only one of the features (though quite unlikely).

Is it worth to introduce features sysfs entry for journal checkpoint and
filename wipe in ext4? In fstests' point of view, it's great to have
such entries that could be checked. If it's not worth it, I think the
"feature proxy" way is acceptable, given that the two features are
closely related and aimed to the same security issue.

Thanks,
Eryu

> 
> Without this change, this test will fail when tesing 5.10, 5.4, and
> other LTS kernels.
> 
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> Cc: Leah Rumancik <leah.rumancik@gmail.com>
> ---
>  tests/ext4/048 | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/tests/ext4/048 b/tests/ext4/048
> index 51189618..35e6aa7f 100755
> --- a/tests/ext4/048
> +++ b/tests/ext4/048
> @@ -93,6 +93,14 @@ _scratch_mkfs_sized $((128 * 1024 * 1024)) >> $seqres.full 2>&1
>  # create scratch dir for testing
>  # create some files with no name a substr of another name so we can grep later
>  _scratch_mount >> $seqres.full 2>&1
> +
> +# Use the presence of the journal checkpoint ioctl as a proxy of filename
> +# wipe being supported
> +if test -x $here/src/checkpoint_journal && \
> +	! $here/src/checkpoint_journal $SCRATCH_MNT --dry-run ; then
> +    _notrun "filename wipe not supported"
> +fi
> +
>  blocksize="$(_get_block_size $SCRATCH_MNT)"
>  mkdir $testdir
>  file_num=1
> -- 
> 2.31.0

  parent reply	other threads:[~2021-07-04 10:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21 16:48 [PATCH] ext4/048: skip test of filename wipe if journal checkpoint is not supported Theodore Ts'o
2021-06-22  1:58 ` xuyang2018.jy
2021-06-23  2:42   ` xuyang2018.jy
2021-06-22 18:18 ` Leah Rumancik
2021-06-23  2:02   ` Theodore Ts'o
2021-06-23 20:58     ` Leah Rumancik
2021-06-23 21:00     ` Leah Rumancik
2021-06-23 21:31     ` Leah Rumancik
2021-07-04 10:47 ` Eryu Guan [this message]
2021-07-04 22:05   ` Theodore Ts'o
2021-07-05  7:56     ` Christoph Hellwig

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=YOGRukqZFQTb36MS@desktop \
    --to=guan@eryu.me \
    --cc=fstests@vger.kernel.org \
    --cc=leah.rumancik@gmail.com \
    --cc=tytso@mit.edu \
    /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