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: Fri, 14 Nov 2014 11:06:36 +0100 Message-ID: <5465D42C.6080900@redhat.com> References: <1415957488-27490-1-git-send-email-tiejun.chen@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Tiejun Chen Return-path: Received: from mail-wi0-f174.google.com ([209.85.212.174]:56600 "EHLO mail-wi0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755005AbaKNKGk (ORCPT ); Fri, 14 Nov 2014 05:06:40 -0500 Received: by mail-wi0-f174.google.com with SMTP id h11so2133311wiw.13 for ; Fri, 14 Nov 2014 02:06:39 -0800 (PST) In-Reply-To: <1415957488-27490-1-git-send-email-tiejun.chen@intel.com> Sender: kvm-owner@vger.kernel.org List-ID: 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 << 0) << s == 0 Is there any case where s is even bigger? Paolo