From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 1/1] s390/mm/kvm: fix mis-merge in gmap handling Date: Tue, 5 Apr 2016 11:25:38 +0200 Message-ID: <57038492.1020202@redhat.com> References: <1459755692-126047-1-git-send-email-borntraeger@de.ibm.com> <1459755692-126047-2-git-send-email-borntraeger@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: KVM , Alexander Graf , Cornelia Huck , linux-s390 , Jens Freimann , Dominik Dingel , Martin Schwidefsky , Heiko Carstens To: Christian Borntraeger Return-path: Received: from mail-wm0-f66.google.com ([74.125.82.66]:36540 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757554AbcDEJZo (ORCPT ); Tue, 5 Apr 2016 05:25:44 -0400 In-Reply-To: <1459755692-126047-2-git-send-email-borntraeger@de.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On 04/04/2016 09:41, Christian Borntraeger wrote: > commit 1e133ab296f3 ("s390/mm: split arch/s390/mm/pgtable.c") dropped > some changes from commit a3a92c31bf0b ("KVM: s390: fix mismatch > between user and in-kernel guest limit") - this breaks KVM for some > memory sizes (kvm-s390: failed to commit memory region) like > exactly 2GB. > > Cc: Dominik Dingel > Cc: Martin Schwidefsky > Cc: Heiko Carstens > Signed-off-by: Christian Borntraeger > --- > arch/s390/mm/gmap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c > index 69247b4..cace818 100644 > --- a/arch/s390/mm/gmap.c > +++ b/arch/s390/mm/gmap.c > @@ -23,7 +23,7 @@ > /** > * gmap_alloc - allocate a guest address space > * @mm: pointer to the parent mm_struct > - * @limit: maximum size of the gmap address space > + * @limit: maximum address of the gmap address space > * > * Returns a guest address space structure. > */ > @@ -292,7 +292,7 @@ int gmap_map_segment(struct gmap *gmap, unsigned long from, > if ((from | to | len) & (PMD_SIZE - 1)) > return -EINVAL; > if (len == 0 || from + len < from || to + len < to || > - from + len > TASK_MAX_SIZE || to + len > gmap->asce_end) > + from + len - 1 > TASK_MAX_SIZE || to + len - 1 > gmap->asce_end) > return -EINVAL; > > flush = 0; > Applied, thanks. Pull request going out in a few hours. Paolo