Skip to contentSkip to conversation

Coverity: z_erofs_handle_inplace_io(): Uninitialized variables

DISCUSSION coverity-bot 2 participants 3 messages Apr 9, 2021 Linux-next tree

lore
Share & tools
lore
#0 lore raw

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;

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

Addresses-Coverity-ID: 1503704 ("Uninitialized variables")

Fixes c660a3a86e7e ("erofs: support decompress big pcluster for lz4 backend")

Thanks for your attention!

Signature · 1 line
Coverity-bot
#1 lore raw

Hi,

Quoted 16 lines · coverity-bot

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

Quoted 14 lines
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

Quoted 15 lines

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

Addresses-Coverity-ID: 1503704 ("Uninitialized variables")

Fixes c660a3a86e7e ("erofs: support decompress big pcluster for lz4 backend")

Thanks for your attention!

Signature · 1 line
Coverity-bot
author
#2 lore raw
Quoted 34 lines · Gao Xiang

Hi,

Quoted 16 lines · coverity-bot

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

Quoted 14 lines
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;
Quoted 7 lines

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

Ah-ha, thank you! Colin is fast. :)

Signature · 1 line
Kees Cook