From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [RFC][PATCH 1/2] kvm: x86: mmu: return zero if s > e in rsvd_bits() Date: Mon, 17 Nov 2014 10:22:24 +0100 Message-ID: <5469BE50.80502@redhat.com> References: <1415957488-27490-1-git-send-email-tiejun.chen@intel.com> <5465D42C.6080900@redhat.com> <546950A6.7050603@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: "Chen, Tiejun" Return-path: Received: from mail-wi0-f178.google.com ([209.85.212.178]:58528 "EHLO mail-wi0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751499AbaKQJW3 (ORCPT ); Mon, 17 Nov 2014 04:22:29 -0500 Received: by mail-wi0-f178.google.com with SMTP id em10so3484109wid.5 for ; Mon, 17 Nov 2014 01:22:28 -0800 (PST) In-Reply-To: <546950A6.7050603@intel.com> Sender: kvm-owner@vger.kernel.org List-ID: On 17/11/2014 02:34, Chen, Tiejun wrote: > On 2014/11/14 18:06, Paolo Bonzini wrote: >> >> >> On 14/11/2014 10:31, Tiejun Chen wrote: >>> In some real scenarios 'start' may not be less than 'end' like >>> maxphyaddr = 52. >>> >>> Signed-off-by: Tiejun Chen >>> --- >>> arch/x86/kvm/mmu.h | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/arch/x86/kvm/mmu.h b/arch/x86/kvm/mmu.h >>> index bde8ee7..0e98b5e 100644 >>> --- a/arch/x86/kvm/mmu.h >>> +++ b/arch/x86/kvm/mmu.h >>> @@ -58,6 +58,8 @@ >>> >>> static inline u64 rsvd_bits(int s, int e) >>> { >>> + if (unlikely(s > e)) >>> + return 0; >>> return ((1ULL << (e - s + 1)) - 1) << s; >>> } >>> >>> >> >> s == e + 1 is supported: >> >> (1ULL << (e - (e + 1) + 1)) - 1) << s == > > (1ULL << (e - (e + 1) + 1)) - 1) << s > = (1ULL << (e - e - 1) + 1)) - 1) << s > = (1ULL << (-1) + 1)) - 1) << s no, ((1ULL << (-1 + 1)) - 1) << s > = (1ULL << (0) - 1) << s ((1ULL << (0)) - 1) << s > = (1ULL << (- 1) << s (1 - 1) << s 0 << s Paolo > > Am I missing something? > > Thanks > Tiejun > >> (1ULL << 0) << s == >> 0 >> >> Is there any case where s is even bigger? >> >> Paolo >> -- >> To unsubscribe from this list: send the line "unsubscribe kvm" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >