Re: Coverity: xlog_write_iclog(): Memory - corruptions

Kees Cook
2019-11-12T22:44:40Z

On Mon, Nov 11, 2019 at 06:41:30PM -0800, Darrick J. Wong wrote:
> [Might as well add the XFS list]
>
> On Mon, Nov 11, 2019 at 05:34:25PM -0800, coverity-bot wrote:
> > Hello!
> >
> > This is an experimental automated report about issues detected by Coverity
> > from a scan of next-20191108 as part of the linux-next weekly scan project:
> > https://scan.coverity.com/projects/linux-next-weekly-scan
> >
> > You're getting this email because you were associated with the identified
> > lines of code (noted below) that were touched by recent commits:
> >
> > 79b54d9bfcdc ("xfs: use bios directly to write log buffers")
> >
> > Coverity reported the following:
> >
> > *** CID 1487853: Memory - corruptions (BAD_FREE)
> > /fs/xfs/xfs_log.c: 1819 in xlog_write_iclog()
> > 1813 submit_bio(split);
> > 1814
> > 1815 /* restart at logical offset zero for the remainder */
> > 1816 iclog->ic_bio.bi_iter.bi_sector = log->l_logBBstart;
> > 1817 }
> > 1818
> > vvv CID 1487853: Memory - corruptions (BAD_FREE)
>
> Isn't this a duplicate of 1451989 in the main kernel coverity scan?
> Which, AFAICT 145989 is a false positive since iclog->ic_bio does not
> itself become the target of a bio_chain.

It might be, yes. The two projects are not correlated within Coverity,
and I've been trying to focus on "newly added" issues in linux-next.

I'm still trying to figure out where Coverity sees a "free" happening...

Thanks for looking at this!

-Kees

>
> --D
>
> > vvv "submit_bio" frees address of "iclog->ic_bio".
> > 1819 submit_bio(&iclog->ic_bio);
> > 1820 }
> > 1821
> > 1822 /*
> > 1823 * We need to bump cycle number for the part of the iclog that is
> > 1824 * written to the start of the log. Watch out for the header magic
> >
> > If this is a false positive, please let us know so we can mark it as
> > such, or teach the Coverity rules to be smarter. If not, please make
> > sure fixes get into linux-next. :) For patches fixing this, please
> > include these lines (but double-check the "Fixes" first):
> >
> > Reported-by: coverity-bot <keescook+coverity-bot@chromium.org>
> > Addresses-Coverity-ID: 1487853 ("Memory - corruptions")
> > Fixes: 79b54d9bfcdc ("xfs: use bios directly to write log buffers")
> >
> >
> > Thanks for your attention!
> >
> > --
> > Coverity-bot

--
Kees Cook