Subject: Re: Coverity: xlog_write_iclog(): Memory - corruptions

From: Kees Cook <[email-masked]>
Date: Tue, 12 Nov 2019 14:44:36 -0800

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 <[email-masked]>
> > Addresses-Coverity-ID: 1487853 ("Memory - corruptions")
> > Fixes: 79b54d9bfcdc ("xfs: use bios directly to write log buffers")
> > 
> > 
> > Thanks for your attention!
> > 
> > -- 
> > Coverity-bot

-- 
Kees Cook