Re: [PATCH 6/6] ext4: tighten restrictions on inode flags

Dave Kleikamp
2008-06-12T19:27:13Z

On Wed, 2008-06-11 at 12:49 +0100, Duane Griffin wrote:
> 2008/6/11 Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>:
> >> +/* Mask out flags that are inappropriate for the given type of inode. */
> >> +static inline __le32 ext4_mask_flags(__le16 mode, __le32 flags)
> >> +{
> >> + if (S_ISDIR(mode))
> >> + return flags;
> >> + else if (S_ISREG(mode))
> >> + return flags & ~EXT4_REG_FLMASK;
> >> + else
> >> + return flags & ~EXT4_OTHER_FLMASK;
> >> +}
> >> +
> >
> > why are the arguments __le32 ? They should be in host order.
> >
> > static inline __u32 ext4_mask_flags(umode_t mode, __u32 flags)
>
> Whoops, I was matching the fields in ex4_inode, but I should have been
> looking at ext4_inode_info. Shouldn't sparse have complained about
> that?

It does, but not by default. You need to run sparse with
-D__CHECK_ENDIAN__

I use this alias:
make_sparse is aliased to `make C=2 CF="-D__CHECK_ENDIAN__"'

Shaggy
--
David Kleikamp
IBM Linux Technology Center