[PATCH 02/20] afs: Fix checker warnings

Al Viro viro at ZenIV.linux.org.uk
Wed Apr 11 23:06:01 PDT 2018


On Wed, Apr 11, 2018 at 10:38:07PM -0700, Christoph Hellwig wrote:
> On Thu, Apr 05, 2018 at 09:29:42PM +0100, David Howells wrote:
> > Fix warnings raised by checker, including:
> > 
> >  (*) Warnings raised by unequal comparison for the purposes of sorting,
> >      where the endianness doesn't matter:
> > 
> > fs/afs/addr_list.c:246:21: warning: restricted __be16 degrades to integer
> > fs/afs/addr_list.c:246:30: warning: restricted __be16 degrades to integer
> > fs/afs/addr_list.c:248:21: warning: restricted __be32 degrades to integer
> > fs/afs/addr_list.c:248:49: warning: restricted __be32 degrades to integer
> > fs/afs/addr_list.c:283:21: warning: restricted __be16 degrades to integer
> > fs/afs/addr_list.c:283:30: warning: restricted __be16 degrades to integer
> 
> Seriously - just do the endian swap.  In most case it it free anyway
> becaue you have load instructions that can byte swap.  Bonus points
> for doing the swap on the element iterated over.
> __force hacks without a very good reason (and an explanation for the
> reason in the code!) are an instance reason to NAK.

Nope.  It's an arbitrary comparison for sorting purposes.  There's no reason
for byteswapping anything, and while a comment to the effect that all we
care about is *some* linear order, no matter which one, would be a good idea,
that's about it.



More information about the linux-afs mailing list