From: Denis Rastyogin <ger...@altlinux.org> Cast len to long long before multiplying by TARGET_PAGE_SIZE when calculating btlb->itree.last to ensure 64-bit arithmetic and avoid potential overflow.
Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Denis Rastyogin <ger...@altlinux.org> --- target/hppa/mem_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/hppa/mem_helper.c b/target/hppa/mem_helper.c index 9bdd0a6f23..0c196b5bfc 100644 --- a/target/hppa/mem_helper.c +++ b/target/hppa/mem_helper.c @@ -766,7 +766,7 @@ void HELPER(diag_btlb)(CPUHPPAState *env) /* Create new BTLB entry */ btlb->itree.start = virt_page << TARGET_PAGE_BITS; - btlb->itree.last = btlb->itree.start + len * TARGET_PAGE_SIZE - 1; + btlb->itree.last = btlb->itree.start + (long long) len * TARGET_PAGE_SIZE - 1; btlb->pa = phys_page << TARGET_PAGE_BITS; set_access_bits_pa11(env, btlb, env->gr[20]); btlb->t = 0; -- 2.42.2