Re: [PATCH 2/2] xfs: fix backwards endian conversion in scrub

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 25, 2019 at 11:09:14AM -0700, Allison Henderson wrote:
> On 2/25/19 10:41 AM, Darrick J. Wong wrote:
> > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> > 
> > Fix a backwards endian conversion of a constant.
> > 
> > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> > ---
> >   fs/xfs/scrub/agheader.c |    2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > 
> > diff --git a/fs/xfs/scrub/agheader.c b/fs/xfs/scrub/agheader.c
> > index 9d4e8293d37e..ddf06bfaa29d 100644
> > --- a/fs/xfs/scrub/agheader.c
> > +++ b/fs/xfs/scrub/agheader.c
> > @@ -399,7 +399,7 @@ xchk_agf_xref_cntbt(
> >   	if (!xchk_should_check_xref(sc, &error, &sc->sa.cnt_cur))
> >   		return;
> >   	if (!have) {
> > -		if (agf->agf_freeblks != be32_to_cpu(0))
> > +		if (agf->agf_freeblks != cpu_to_be32(0))
> >   			xchk_block_xref_set_corrupt(sc, sc->sa.agf_bp);
> >   		return;
> >   	}
> > 
> 
> Good catch.  I suppose there's not as much need to do the conversion if the
> value is 0?

Yep.  Fortunately, there's enough macro soup in cpu_to_be* (and all the
other endian conversion functions) to detect that the argument is a
constant value and transform it at compile time to avoid runtime
overhead.

> But I think the call helps to make clear that the value is supposed to
> be in big endian.

It's more or less to satisfy static checkers. :)

> Reviewed-by: Allison Henderson <allison.henderson@xxxxxxxxxx>



--D



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux