From: Dan Carpenter <dan.carpenter@oracle.com>
To: Brian Foster <bfoster@redhat.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [bug report] xfs: remove dfops param from internal bmap extent helpers
Date: Thu, 19 Jul 2018 14:01:31 +0300 [thread overview]
Message-ID: <20180719110130.pyx7ajjrygjr3ex7@mwanda> (raw)
In-Reply-To: <20180719105101.GA25672@bfoster>
Thanks for looking at this. I suspected it might be something like this
so I would only send an email like this when the code was very recent
so hopefully you would know the answers off the top of your head so it
wasn't too much bother.
On Thu, Jul 19, 2018 at 06:51:02AM -0400, Brian Foster wrote:
> > 2455 /* update reverse mappings */
> > 2456 error = xfs_rmap_convert_extent(mp, dfops, ip, whichfork, new);
> > 2457 if (error)
> > 2458 goto done;
> > 2459
> > 2460 /* convert to a btree if necessary */
> > 2461 if (xfs_bmap_needs_btree(ip, whichfork)) {
> > 2462 int tmp_logflags; /* partial log flag return val */
> > 2463
> > 2464 ASSERT(cur == NULL);
> > 2465 error = xfs_bmap_extents_to_btree(tp, ip, &cur, 0,
> > ^^
> > Existing code dereferences "tp" without checking for NULL.
> >
>
> ... and we only get here when xfs_bmap_needs_btree() is true, which
> requires whichfork != XFS_COW_FORK (because I don't think such "convert
> only" cow fork changes are ever logged).
>
> So I don't think this patch changes behavior in any way and technically
> this is a false positive. That said, I'm not opposed to tweaking the
> function-local logic if it facilitates static checking (and clarity,
> more importantly).
>
> It sounds to me that adding a '... && tp' check to a few of these spots
> may quiet the checker, I'm just not sure how to verify. Can this be run
> locally or triggered somehow to verify a potential fix?
That would silence the warning but I think the code is probably more
readable as-is. There is some more logic that I have been needing to
add to Smatch which might help here... I just haven't got around to it
yet. I think we just leave it as-is and re-think in a few years if the
warning is still around.
regards,
dan carpenter
next prev parent reply other threads:[~2018-07-19 11:44 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-19 8:12 [bug report] xfs: remove dfops param from internal bmap extent helpers Dan Carpenter
2018-07-19 10:51 ` Brian Foster
2018-07-19 11:01 ` Dan Carpenter [this message]
2018-07-19 11:26 ` Brian Foster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180719110130.pyx7ajjrygjr3ex7@mwanda \
--to=dan.carpenter@oracle.com \
--cc=bfoster@redhat.com \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).