[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200911160345.GT7955@magnolia>
Date: Fri, 11 Sep 2020 09:03:45 -0700
From: "Darrick J. Wong" <darrick.wong@...cle.com>
To: Colin Ian King <colin.king@...onical.com>
Cc: linux-xfs@...r.kernel.org, Brian Foster <bfoster@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: xfs: support inode btree blockcounts in online repair
On Fri, Sep 11, 2020 at 12:16:33PM +0100, Colin Ian King wrote:
> Hi,
>
> Static analysis with Coverity has detected an issue with the following
> commit:
>
> commit 30deae31eab501f568aadea45cfb3258b9e522f5
> Author: Darrick J. Wong <darrick.wong@...cle.com>
> Date: Wed Aug 26 10:48:50 2020 -0700
>
> xfs: support inode btree blockcounts in online repair
>
> the analysis is as follows:
>
> 830 cur = xfs_inobt_init_cursor(mp, sc->tp, agi_bp,
> sc->sa.agno,
> 831 XFS_BTNUM_FINO);
xfs_inobt_init_cursor can't return NULL (because we guarantee the
allocation cannot fail) so all that really needs to be done here is to
remove the pointless error check in lines 832-833.
--D
> const: At condition error, the value of error must be equal to 0.
> dead_error_condition: The condition error cannot be true.
>
> 832 if (error)
>
> CID: Logically dead code (DEADCODE)dead_error_line: Execution cannot
> reach this statement: goto err;.
>
> 833 goto err;
>
> While it is tempting to change the if (error) check to if (cur), the
> exit error path uses the errnoeous cur as follows:
>
> 842 err:
> 843 xfs_btree_del_cursor(cur, error);
> 844 return error;
>
> so the error exit path needs some sorting out too.
Powered by blists - more mailing lists