[PATCH 19/25] xfs: add xfs_da_node verification

Phil White pwhite at sgi.com
Tue Oct 30 19:23:47 CDT 2012


On Wed, Oct 31, 2012 at 09:23:32AM +1100, Dave Chinner wrote:
> There's also another problem with this - endian swapping is missing.

Endian swapping doesn't matter.  include/linux/types.h defines __be16 as
a __u16 and 0 is 0 is 0, no matter which order you put the bytes.

Doesn't hurt to make it clear though.
 
> xfs: add xfs_da_node verification
> 
> From: Dave Chinner <dchinner at redhat.com>
> 
> Signed-off-by: Dave Chinner <dchinner at redhat.com>
> ---
>  fs/xfs/xfs_attr.c      |   22 ++++------
>  fs/xfs/xfs_attr_leaf.c |   12 +++---
>  fs/xfs/xfs_attr_leaf.h |    8 ++--
>  fs/xfs/xfs_da_btree.c  |  109 ++++++++++++++++++++++++++++++++++++------------
>  fs/xfs/xfs_da_btree.h  |    3 ++
>  fs/xfs/xfs_dir2_leaf.c |    2 +-
>  fs/xfs/xfs_dir2_priv.h |    1 +
>  7 files changed, 107 insertions(+), 50 deletions(-)

I'm a little surprised (and dismayed) that it passed xfstests with that.
Presumably, it never ran into a case where level or count were > 0 on
an invalid xfs_da_node.

Anyway...

Reviewed-by: Phil White <pwhite at sgi.com>



More information about the xfs mailing list