Re: [PATCH 19/25] xfs: add xfs_da_node verification

Phil White
2012-10-31T00:21:59Z

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@redhat.com>
>
> Signed-off-by: Dave Chinner <dchinner@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@sgi.com>