Re: [PATCH 05/11] xfs_repair: treat zero da btree pointers as corruption

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 4/17/18 9:47 PM, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> 
> If a da btree pointer is zero (i.e. the beginning of the fork) report
> this as a corrupt tree to the caller instead of telling it that
> everything is good.  Fixes assertion errors when fuzzing
> nbtree[0].before to zero in xfs/394.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> ---
>  repair/dir2.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> 
> diff --git a/repair/dir2.c b/repair/dir2.c
> index 73dff90..47ece00 100644
> --- a/repair/dir2.c
> +++ b/repair/dir2.c
> @@ -1238,8 +1238,8 @@ process_node_dir2(
>  	 * Skip directories with a root marked XFS_DIR2_LEAFN_MAGIC
>  	 */
>  	if (bno == 0) {
> -		release_da_cursor(mp, &da_cursor, 0);
> -		return 0;
> +		err_release_da_cursor(mp, &da_cursor, 0);
> +		return 1;

Trying to make sense of this w.r.t. the comment right above it ... oh,
ok the traverse function does:

                if (whichfork == XFS_DATA_FORK &&
                    (nodehdr.magic == XFS_DIR2_LEAFN_MAGIC ||
                    nodehdr.magic == XFS_DIR3_LEAFN_MAGIC)) {
                        if (i != -1) {
                                do_warn(
_("found non-root LEAFN node in inode %" PRIu64 " bno = %u\n"),
                                        da_cursor->ino, bno);
 
I guess the comment should say:

/* Directories with root marked XFS_DIR2_LEAFN_MAGIC are corrupt */

now, but I might fix that on the way in, so:

Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>

>  	} else {
>  		/*
>  		 * Now pass cursor and bno into leaf-block processing routine.
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux