Sparse with endian checking (make C=2 CHECKFLAGS="-D__CHECK_ENDIAN__") complains
aibout these:
| fs/squashfs/inode.c:306:25: warning: cast to restricted __le16
| fs/squashfs/inode.c:324:25: warning: cast to restricted __le16
and it seems to be right, as inode.i_mode is not __le16. I think the le16_to_cpu()
should be removed.
BTW, there are also a few sparse warnings about different signednesses, so you
probably want to run sparse yourself, too.