[PATCH] xfs: Check error during inode btree iteration in xfs_bulkstat()

jie liu jeff.u.liu at gmail.com
Wed Oct 22 05:29:48 CDT 2014


Looks good to me.  Reviewed-by: Jie Liu <jeff.u.liu at gmail.com>


Cheers,
-Jeff

On Tue, Oct 21, 2014 at 10:31 PM, Jan Kara <jack at suse.cz> wrote:

> xfs_bulkstat() doesn't check error return from xfs_btree_increment(). In
> case of specific fs corruption that could result in xfs_bulkstat()
> entering an infinite loop because we would be looping over the same
> chunk over and over again. Fix the problem by checking the return value
> and terminating the loop properly.
>
> Coverity-id: 1231338
> Signed-off-by: Jan Kara <jack at suse.cz>
> ---
>  fs/xfs/xfs_itable.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
> index f1deb961a296..66d5c619517d 100644
> --- a/fs/xfs/xfs_itable.c
> +++ b/fs/xfs/xfs_itable.c
> @@ -474,6 +474,10 @@ xfs_bulkstat(
>                          */
>                         agino = r.ir_startino + XFS_INODES_PER_CHUNK;
>                         error = xfs_btree_increment(cur, 0, &tmp);
> +                       if (error) {
> +                               end_of_ag = 1;
> +                               break;
> +                       }
>                         cond_resched();
>                 }
>                 /*
> --
> 1.8.1.4
>
> _______________________________________________
> xfs mailing list
> xfs at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20141022/52b5c2f0/attachment.html>


More information about the xfs mailing list