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

From: "Darrick J. Wong" <[email-masked]>
Date: Mon, 11 Nov 2019 18:41:30 -0800

[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.

--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