Re: [PATCH RFC 5/7] fs/xfs: support `DISABLE_FS_CSUM_VERIFICATION` config option

From: Dmitry Vyukov
Date: Mon Oct 17 2022 - 04:33:29 EST


On Fri, 14 Oct 2022 at 17:44, Darrick J. Wong <djwong@xxxxxxxxxx> wrote:
>
> On Fri, Oct 14, 2022 at 08:48:35AM +0000, Hrutvik Kanabar wrote:
> > From: Hrutvik Kanabar <hrutvik@xxxxxxxxxx>
> >
> > When `DISABLE_FS_CSUM_VERIFICATION` is enabled, return truthy value for
> > `xfs_verify_cksum`, which is the key function implementing checksum
> > verification for XFS.
> >
> > Signed-off-by: Hrutvik Kanabar <hrutvik@xxxxxxxxxx>
>
> NAK, we're not going to break XFS for the sake of automated fuzz tools.

Hi Darrick,

What do you mean by "break"? If this config is not enabled the
behavior is not affected as far as I see.

> You'll have to adapt your fuzzing tools to rewrite the block header
> checksums, like the existing xfs fuzz testing framework does. See
> the xfs_db 'fuzz -d' command and the relevant fstests.
>
> --D
>
> > ---
> > fs/xfs/libxfs/xfs_cksum.h | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/fs/xfs/libxfs/xfs_cksum.h b/fs/xfs/libxfs/xfs_cksum.h
> > index 999a290cfd72..ba55b1afa382 100644
> > --- a/fs/xfs/libxfs/xfs_cksum.h
> > +++ b/fs/xfs/libxfs/xfs_cksum.h
> > @@ -76,7 +76,10 @@ xfs_verify_cksum(char *buffer, size_t length, unsigned long cksum_offset)
> > {
> > uint32_t crc = xfs_start_cksum_safe(buffer, length, cksum_offset);
> >
> > - return *(__le32 *)(buffer + cksum_offset) == xfs_end_cksum(crc);
> > + if (IS_ENABLED(CONFIG_DISABLE_FS_CSUM_VERIFICATION))
> > + return 1;
> > + else
> > + return *(__le32 *)(buffer + cksum_offset) == xfs_end_cksum(crc);
> > }
> >
> > #endif /* _XFS_CKSUM_H */
> > --
> > 2.38.0.413.g74048e4d9e-goog
> >
>
> --
> You received this message because you are subscribed to the Google Groups "kasan-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to kasan-dev+unsubscribe@xxxxxxxxxxxxxxxx.
> To view this discussion on the web visit https://groups.google.com/d/msgid/kasan-dev/Y0mD0LcNvu%2BQTlQ9%40magnolia.