* [PATCH 1/2] xfs: scrub: avoid uninitialized return code @ 2017-11-02 11:11 Arnd Bergmann 2017-11-02 11:11 ` [PATCH 2/2] xfs: fix unused variable warnings Arnd Bergmann 2017-11-02 12:44 ` [PATCH 1/2] xfs: scrub: avoid uninitialized return code Brian Foster 0 siblings, 2 replies; 6+ messages in thread From: Arnd Bergmann @ 2017-11-02 11:11 UTC (permalink / raw) To: Darrick J. Wong; +Cc: Arnd Bergmann, linux-xfs, Dave Chinner, linux-kernel The newly added xfs_scrub_da_btree_block() function has one code path that returns the 'error' variable without initializing it first, as shown by this compiler warning: fs/xfs/scrub/dabtree.c: In function 'xfs_scrub_da_btree_block': fs/xfs/scrub/dabtree.c:462:9: error: 'error' may be used uninitialized in this function [-Werror=maybe-uninitialized] Returning -EINVAL might be an appropriate return code in this case. Fixes: 7c4a07a424c1 ("xfs: scrub directory/attribute btrees") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- fs/xfs/scrub/dabtree.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/xfs/scrub/dabtree.c b/fs/xfs/scrub/dabtree.c index 4a93cf1753d3..971566388c9a 100644 --- a/fs/xfs/scrub/dabtree.c +++ b/fs/xfs/scrub/dabtree.c @@ -349,8 +349,10 @@ xfs_scrub_da_btree_block( /* Check the pointer. */ blk->blkno = blkno; - if (!xfs_scrub_da_btree_ptr_ok(ds, level, blkno)) + if (!xfs_scrub_da_btree_ptr_ok(ds, level, blkno)) { + error = -EINVAL; goto out_nobuf; + } /* Read the buffer. */ error = xfs_da_read_buf(dargs->trans, dargs->dp, blk->blkno, -2, -- 2.9.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] xfs: fix unused variable warnings 2017-11-02 11:11 [PATCH 1/2] xfs: scrub: avoid uninitialized return code Arnd Bergmann @ 2017-11-02 11:11 ` Arnd Bergmann 2017-11-02 12:44 ` Brian Foster 2017-11-02 12:44 ` [PATCH 1/2] xfs: scrub: avoid uninitialized return code Brian Foster 1 sibling, 1 reply; 6+ messages in thread From: Arnd Bergmann @ 2017-11-02 11:11 UTC (permalink / raw) To: Darrick J. Wong Cc: Arnd Bergmann, linux-xfs, Brian Foster, Dave Chinner, Eric Sandeen, linux-kernel fs/xfs/libxfs/xfs_bmap.c: In function 'xfs_bmap_del_extent_delay': fs/xfs/libxfs/xfs_bmap.c:4648:20: error: unused variable 'ifp' [-Werror=unused-variable] struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); ^~~ fs/xfs/libxfs/xfs_bmap.c: In function 'xfs_bmap_del_extent_cow': fs/xfs/libxfs/xfs_bmap.c:4776:20: error: unused variable 'ifp' [-Werror=unused-variable] Fixes: ca5d8e5b7b90 ("xfs: move pre/post-bmap tracing into xfs_iext_update_extent") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- fs/xfs/libxfs/xfs_bmap.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index f45f05c45e15..fa85b08b8fe2 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -4645,7 +4645,6 @@ xfs_bmap_del_extent_delay( struct xfs_bmbt_irec *del) { struct xfs_mount *mp = ip->i_mount; - struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); struct xfs_bmbt_irec new; int64_t da_old, da_new, da_diff = 0; xfs_fileoff_t del_endoff, got_endoff; @@ -4663,7 +4662,7 @@ xfs_bmap_del_extent_delay( da_new = 0; ASSERT(*idx >= 0); - ASSERT(*idx <= xfs_iext_count(ifp)); + ASSERT(*idx <= xfs_iext_count(XFS_IFORK_PTR(ip, whichfork))); ASSERT(del->br_blockcount > 0); ASSERT(got->br_startoff <= del->br_startoff); ASSERT(got_endoff >= del_endoff); @@ -4773,7 +4772,6 @@ xfs_bmap_del_extent_cow( struct xfs_bmbt_irec *del) { struct xfs_mount *mp = ip->i_mount; - struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_COW_FORK); struct xfs_bmbt_irec new; xfs_fileoff_t del_endoff, got_endoff; int state = BMAP_COWFORK; @@ -4784,7 +4782,7 @@ xfs_bmap_del_extent_cow( got_endoff = got->br_startoff + got->br_blockcount; ASSERT(*idx >= 0); - ASSERT(*idx <= xfs_iext_count(ifp)); + ASSERT(*idx <= xfs_iext_count(XFS_IFORK_PTR(ip, XFS_COW_FORK))); ASSERT(del->br_blockcount > 0); ASSERT(got->br_startoff <= del->br_startoff); ASSERT(got_endoff >= del_endoff); -- 2.9.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] xfs: fix unused variable warnings 2017-11-02 11:11 ` [PATCH 2/2] xfs: fix unused variable warnings Arnd Bergmann @ 2017-11-02 12:44 ` Brian Foster 2017-11-02 16:52 ` Darrick J. Wong 0 siblings, 1 reply; 6+ messages in thread From: Brian Foster @ 2017-11-02 12:44 UTC (permalink / raw) To: Arnd Bergmann Cc: Darrick J. Wong, linux-xfs, Dave Chinner, Eric Sandeen, linux-kernel On Thu, Nov 02, 2017 at 12:11:13PM +0100, Arnd Bergmann wrote: > fs/xfs/libxfs/xfs_bmap.c: In function 'xfs_bmap_del_extent_delay': > fs/xfs/libxfs/xfs_bmap.c:4648:20: error: unused variable 'ifp' [-Werror=unused-variable] > struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); > ^~~ > fs/xfs/libxfs/xfs_bmap.c: In function 'xfs_bmap_del_extent_cow': > fs/xfs/libxfs/xfs_bmap.c:4776:20: error: unused variable 'ifp' [-Werror=unused-variable] > > Fixes: ca5d8e5b7b90 ("xfs: move pre/post-bmap tracing into xfs_iext_update_extent") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- Thanks for sending this: Reviewed-by: Brian Foster <bfoster@redhat.com> > fs/xfs/libxfs/xfs_bmap.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c > index f45f05c45e15..fa85b08b8fe2 100644 > --- a/fs/xfs/libxfs/xfs_bmap.c > +++ b/fs/xfs/libxfs/xfs_bmap.c > @@ -4645,7 +4645,6 @@ xfs_bmap_del_extent_delay( > struct xfs_bmbt_irec *del) > { > struct xfs_mount *mp = ip->i_mount; > - struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); > struct xfs_bmbt_irec new; > int64_t da_old, da_new, da_diff = 0; > xfs_fileoff_t del_endoff, got_endoff; > @@ -4663,7 +4662,7 @@ xfs_bmap_del_extent_delay( > da_new = 0; > > ASSERT(*idx >= 0); > - ASSERT(*idx <= xfs_iext_count(ifp)); > + ASSERT(*idx <= xfs_iext_count(XFS_IFORK_PTR(ip, whichfork))); > ASSERT(del->br_blockcount > 0); > ASSERT(got->br_startoff <= del->br_startoff); > ASSERT(got_endoff >= del_endoff); > @@ -4773,7 +4772,6 @@ xfs_bmap_del_extent_cow( > struct xfs_bmbt_irec *del) > { > struct xfs_mount *mp = ip->i_mount; > - struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_COW_FORK); > struct xfs_bmbt_irec new; > xfs_fileoff_t del_endoff, got_endoff; > int state = BMAP_COWFORK; > @@ -4784,7 +4782,7 @@ xfs_bmap_del_extent_cow( > got_endoff = got->br_startoff + got->br_blockcount; > > ASSERT(*idx >= 0); > - ASSERT(*idx <= xfs_iext_count(ifp)); > + ASSERT(*idx <= xfs_iext_count(XFS_IFORK_PTR(ip, XFS_COW_FORK))); > ASSERT(del->br_blockcount > 0); > ASSERT(got->br_startoff <= del->br_startoff); > ASSERT(got_endoff >= del_endoff); > -- > 2.9.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] xfs: fix unused variable warnings 2017-11-02 12:44 ` Brian Foster @ 2017-11-02 16:52 ` Darrick J. Wong 0 siblings, 0 replies; 6+ messages in thread From: Darrick J. Wong @ 2017-11-02 16:52 UTC (permalink / raw) To: Brian Foster Cc: Arnd Bergmann, linux-xfs, Dave Chinner, Eric Sandeen, linux-kernel On Thu, Nov 02, 2017 at 08:44:03AM -0400, Brian Foster wrote: > On Thu, Nov 02, 2017 at 12:11:13PM +0100, Arnd Bergmann wrote: > > fs/xfs/libxfs/xfs_bmap.c: In function 'xfs_bmap_del_extent_delay': > > fs/xfs/libxfs/xfs_bmap.c:4648:20: error: unused variable 'ifp' [-Werror=unused-variable] > > struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); > > ^~~ > > fs/xfs/libxfs/xfs_bmap.c: In function 'xfs_bmap_del_extent_cow': > > fs/xfs/libxfs/xfs_bmap.c:4776:20: error: unused variable 'ifp' [-Werror=unused-variable] > > Christoph's subsequent patch series to reimplement the incore extent map starts using ifp for more than just the ASSERT, so I'll take this patch if that rework doesn't land in time for 4.15. --D > > Fixes: ca5d8e5b7b90 ("xfs: move pre/post-bmap tracing into xfs_iext_update_extent") > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > --- > > Thanks for sending this: > > Reviewed-by: Brian Foster <bfoster@redhat.com> > > > fs/xfs/libxfs/xfs_bmap.c | 6 ++---- > > 1 file changed, 2 insertions(+), 4 deletions(-) > > > > diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c > > index f45f05c45e15..fa85b08b8fe2 100644 > > --- a/fs/xfs/libxfs/xfs_bmap.c > > +++ b/fs/xfs/libxfs/xfs_bmap.c > > @@ -4645,7 +4645,6 @@ xfs_bmap_del_extent_delay( > > struct xfs_bmbt_irec *del) > > { > > struct xfs_mount *mp = ip->i_mount; > > - struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, whichfork); > > struct xfs_bmbt_irec new; > > int64_t da_old, da_new, da_diff = 0; > > xfs_fileoff_t del_endoff, got_endoff; > > @@ -4663,7 +4662,7 @@ xfs_bmap_del_extent_delay( > > da_new = 0; > > > > ASSERT(*idx >= 0); > > - ASSERT(*idx <= xfs_iext_count(ifp)); > > + ASSERT(*idx <= xfs_iext_count(XFS_IFORK_PTR(ip, whichfork))); > > ASSERT(del->br_blockcount > 0); > > ASSERT(got->br_startoff <= del->br_startoff); > > ASSERT(got_endoff >= del_endoff); > > @@ -4773,7 +4772,6 @@ xfs_bmap_del_extent_cow( > > struct xfs_bmbt_irec *del) > > { > > struct xfs_mount *mp = ip->i_mount; > > - struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_COW_FORK); > > struct xfs_bmbt_irec new; > > xfs_fileoff_t del_endoff, got_endoff; > > int state = BMAP_COWFORK; > > @@ -4784,7 +4782,7 @@ xfs_bmap_del_extent_cow( > > got_endoff = got->br_startoff + got->br_blockcount; > > > > ASSERT(*idx >= 0); > > - ASSERT(*idx <= xfs_iext_count(ifp)); > > + ASSERT(*idx <= xfs_iext_count(XFS_IFORK_PTR(ip, XFS_COW_FORK))); > > ASSERT(del->br_blockcount > 0); > > ASSERT(got->br_startoff <= del->br_startoff); > > ASSERT(got_endoff >= del_endoff); > > -- > > 2.9.0 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > > the body of a message to majordomo@vger.kernel.org > > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] xfs: scrub: avoid uninitialized return code 2017-11-02 11:11 [PATCH 1/2] xfs: scrub: avoid uninitialized return code Arnd Bergmann 2017-11-02 11:11 ` [PATCH 2/2] xfs: fix unused variable warnings Arnd Bergmann @ 2017-11-02 12:44 ` Brian Foster 2017-11-02 16:49 ` Darrick J. Wong 1 sibling, 1 reply; 6+ messages in thread From: Brian Foster @ 2017-11-02 12:44 UTC (permalink / raw) To: Arnd Bergmann; +Cc: Darrick J. Wong, linux-xfs, Dave Chinner, linux-kernel On Thu, Nov 02, 2017 at 12:11:12PM +0100, Arnd Bergmann wrote: > The newly added xfs_scrub_da_btree_block() function has one code path > that returns the 'error' variable without initializing it first, as > shown by this compiler warning: > > fs/xfs/scrub/dabtree.c: In function 'xfs_scrub_da_btree_block': > fs/xfs/scrub/dabtree.c:462:9: error: 'error' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > Returning -EINVAL might be an appropriate return code in this case. > > Fixes: 7c4a07a424c1 ("xfs: scrub directory/attribute btrees") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > fs/xfs/scrub/dabtree.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/scrub/dabtree.c b/fs/xfs/scrub/dabtree.c > index 4a93cf1753d3..971566388c9a 100644 > --- a/fs/xfs/scrub/dabtree.c > +++ b/fs/xfs/scrub/dabtree.c > @@ -349,8 +349,10 @@ xfs_scrub_da_btree_block( > > /* Check the pointer. */ > blk->blkno = blkno; > - if (!xfs_scrub_da_btree_ptr_ok(ds, level, blkno)) > + if (!xfs_scrub_da_btree_ptr_ok(ds, level, blkno)) { > + error = -EINVAL; > goto out_nobuf; > + } Hmm.. is an error really the right thing to do here vs. setting the context corrupt and returning 0? (Darrick..?) If the latter, perhaps error should just be initialized to 0. Brian > > /* Read the buffer. */ > error = xfs_da_read_buf(dargs->trans, dargs->dp, blk->blkno, -2, > -- > 2.9.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] xfs: scrub: avoid uninitialized return code 2017-11-02 12:44 ` [PATCH 1/2] xfs: scrub: avoid uninitialized return code Brian Foster @ 2017-11-02 16:49 ` Darrick J. Wong 0 siblings, 0 replies; 6+ messages in thread From: Darrick J. Wong @ 2017-11-02 16:49 UTC (permalink / raw) To: Brian Foster; +Cc: Arnd Bergmann, linux-xfs, Dave Chinner, linux-kernel On Thu, Nov 02, 2017 at 08:44:00AM -0400, Brian Foster wrote: > On Thu, Nov 02, 2017 at 12:11:12PM +0100, Arnd Bergmann wrote: > > The newly added xfs_scrub_da_btree_block() function has one code path > > that returns the 'error' variable without initializing it first, as > > shown by this compiler warning: > > > > fs/xfs/scrub/dabtree.c: In function 'xfs_scrub_da_btree_block': > > fs/xfs/scrub/dabtree.c:462:9: error: 'error' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > > > Returning -EINVAL might be an appropriate return code in this case. > > > > Fixes: 7c4a07a424c1 ("xfs: scrub directory/attribute btrees") > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > --- > > fs/xfs/scrub/dabtree.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/fs/xfs/scrub/dabtree.c b/fs/xfs/scrub/dabtree.c > > index 4a93cf1753d3..971566388c9a 100644 > > --- a/fs/xfs/scrub/dabtree.c > > +++ b/fs/xfs/scrub/dabtree.c > > @@ -349,8 +349,10 @@ xfs_scrub_da_btree_block( > > > > /* Check the pointer. */ > > blk->blkno = blkno; > > - if (!xfs_scrub_da_btree_ptr_ok(ds, level, blkno)) > > + if (!xfs_scrub_da_btree_ptr_ok(ds, level, blkno)) { > > + error = -EINVAL; > > goto out_nobuf; > > + } > > Hmm.. is an error really the right thing to do here vs. setting the > context corrupt and returning 0? (Darrick..?) If the latter, perhaps > error should just be initialized to 0. Yes, zero. We return from this function with a NULL blks[level]->bp (and the corrupt flag set) so the caller (xfs_scrub_da_btree) will return. --D > > Brian > > > > > /* Read the buffer. */ > > error = xfs_da_read_buf(dargs->trans, dargs->dp, blk->blkno, -2, > > -- > > 2.9.0 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > > the body of a message to majordomo@vger.kernel.org > > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-11-02 16:52 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-11-02 11:11 [PATCH 1/2] xfs: scrub: avoid uninitialized return code Arnd Bergmann 2017-11-02 11:11 ` [PATCH 2/2] xfs: fix unused variable warnings Arnd Bergmann 2017-11-02 12:44 ` Brian Foster 2017-11-02 16:52 ` Darrick J. Wong 2017-11-02 12:44 ` [PATCH 1/2] xfs: scrub: avoid uninitialized return code Brian Foster 2017-11-02 16:49 ` Darrick J. Wong
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.