Message ID | 20220712080133.4176971-5-yangxiaojuan@loongson.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix LoongArch coverity error and cpu name bug | expand |
On 7/12/22 13:31, Xiaojuan Yang wrote: > Replace '1' with '1UL' to fix unintentional integer overflow errors > in tlb_helper file. > > Fix coverity CID: 1489759 1489762 > > Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn> > --- > target/loongarch/tlb_helper.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/target/loongarch/tlb_helper.c b/target/loongarch/tlb_helper.c > index bab19c7e05..b300230588 100644 > --- a/target/loongarch/tlb_helper.c > +++ b/target/loongarch/tlb_helper.c > @@ -298,7 +298,7 @@ static void invalidate_tlb_entry(CPULoongArchState *env, int index) > } else { > tlb_ps = FIELD_EX64(env->CSR_STLBPS, CSR_STLBPS, PS); > } > - pagesize = 1 << tlb_ps; > + pagesize = 1UL << tlb_ps; > mask = MAKE_64BIT_MASK(0, tlb_ps + 1); This is incorrect, because 1ul is still 32 bits on some hosts, including windows64. More generally, 'ul' is *always* incorrect for qemu. Much better here to use pagesize = MAKE_64BIT_MASK(tlb_ps, 1); > - tmp0 += (1 << ps); > + tmp0 += (1UL << ps); Likewise. r~
diff --git a/target/loongarch/tlb_helper.c b/target/loongarch/tlb_helper.c index bab19c7e05..b300230588 100644 --- a/target/loongarch/tlb_helper.c +++ b/target/loongarch/tlb_helper.c @@ -298,7 +298,7 @@ static void invalidate_tlb_entry(CPULoongArchState *env, int index) } else { tlb_ps = FIELD_EX64(env->CSR_STLBPS, CSR_STLBPS, PS); } - pagesize = 1 << tlb_ps; + pagesize = 1UL << tlb_ps; mask = MAKE_64BIT_MASK(0, tlb_ps + 1); if (tlb_v0) { @@ -736,7 +736,7 @@ void helper_ldpte(CPULoongArchState *env, target_ulong base, target_ulong odd, (tmp0 & (~(1 << R_TLBENTRY_G_SHIFT))); ps = ptbase + ptwidth - 1; if (odd) { - tmp0 += (1 << ps); + tmp0 += (1UL << ps); } } else { /* 0:64bit, 1:128bit, 2:192bit, 3:256bit */
Replace '1' with '1UL' to fix unintentional integer overflow errors in tlb_helper file. Fix coverity CID: 1489759 1489762 Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn> --- target/loongarch/tlb_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)