Subject: Re: Coverity: z_erofs_handle_inplace_io(): Uninitialized variables

From: Gao Xiang <[email-masked]>
Date: Fri, 9 Apr 2021 09:01:46 +0800

Hi,

On Thu, Apr 08, 2021 at 05:09:14PM -0700, coverity-bot wrote:
> Hello!
> 
> This is an experimental semi-automated report about issues detected by
> Coverity from a scan of next-20210408 as part of the linux-next 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 commits:
> 
>   Wed Apr 7 13:17:55 2021 +0800
>     c660a3a86e7e ("erofs: support decompress big pcluster for lz4 backend")
> 
> Coverity reported the following:
> 
> *** CID 1503704:  Uninitialized variables  (UNINIT)
> /fs/erofs/decompressor.c: 160 in z_erofs_handle_inplace_io()
> 154     	}
> 155     	kunmap_atomic(inpage);
> 156     	might_sleep();
> 157     	while (1) {
> 158     		src = vm_map_ram(rq->in, nrpages_in, -1);
> 159     		/* retry two more times (totally 3 times) */
> vvv     CID 1503704:  Uninitialized variables  (UNINIT)
> vvv     Using uninitialized value "i".
> 160     		if (src || ++i >= 3)
> 161     			break;
> 162     		vm_unmap_aliases();
> 163     	}
> 164     	*maptype = 1;
> 165     	return src;

Thanks for the report!

This bug was reported by Colin King before (next-20210407), and has already
been fixed in (next-20210408), see:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/fs/erofs/decompressor.c?h=next-20210408#n157
and
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/fs/erofs/internal.h?h=next-20210408#n405

Thanks,
Gao Xiang

> 
> 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: 1503704 ("Uninitialized variables")
> Fixes: c660a3a86e7e ("erofs: support decompress big pcluster for lz4 backend")
> 
> Thanks for your attention!
> 
> -- 
> Coverity-bot
>