
20 Jan
2021
20 Jan
'21
10:46 p.m.
On Sat, Oct 31, 2020 at 09:07:50AM +0800, Qu Wenruo wrote:
In __btrfs_map_block() we do a int * int and assign it to u64. This is not safe as the result (int * int) is still evaluated as (int) thus it can overflow.
Convert one of the multiplier to u64 to prevent such problem.
In real world, this should not cause problem as we have device number limit thus it won't go beyond 4G for a single stripe.
But it's harder to teach coverity about all these hidden limits, so just fix the possible overflow.
Reported-by: Coverity CID 312957 Reported-by: Coverity CID 312948 Signed-off-by: Qu Wenruo wqu@suse.com
Applied to u-boot/master, thanks!
--
Tom