[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH] target-ppc: fix left shift overflow in hpte_page_
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH] target-ppc: fix left shift overflow in hpte_page_shift |
Date: |
Mon, 18 Jul 2016 10:45:56 +1000 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Fri, Jul 15, 2016 at 05:22:10PM +0200, Paolo Bonzini wrote:
> ps->pte_enc is a 32-bit value, which is shifted left and then compared
> to a 64-bit value. It needs a cast before the shift.
>
> Reported by Coverity.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
Applied to ppc-for-2.7, thanks.
> ---
> target-ppc/mmu-hash64.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target-ppc/mmu-hash64.c b/target-ppc/mmu-hash64.c
> index 82c2186..8f7e5b4 100644
> --- a/target-ppc/mmu-hash64.c
> +++ b/target-ppc/mmu-hash64.c
> @@ -479,7 +479,7 @@ static unsigned hpte_page_shift(const struct
> ppc_one_seg_page_size *sps,
>
> mask = ((1ULL << ps->page_shift) - 1) & HPTE64_R_RPN;
>
> - if ((pte1 & mask) == (ps->pte_enc << HPTE64_R_RPN_SHIFT)) {
> + if ((pte1 & mask) == ((uint64_t)ps->pte_enc << HPTE64_R_RPN_SHIFT)) {
> return ps->page_shift;
> }
> }
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature