From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752260AbbIKI0q (ORCPT ); Fri, 11 Sep 2015 04:26:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59922 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751484AbbIKI0p (ORCPT ); Fri, 11 Sep 2015 04:26:45 -0400 Subject: Re: [PATCH V4 3/4] kvm: fix zero length mmio searching To: Jason Wang , gleb@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org References: <1441941457-23630-1-git-send-email-jasowang@redhat.com> <1441941457-23630-4-git-send-email-jasowang@redhat.com> Cc: mst@redhat.com, cornelia.huck@de.ibm.com From: Paolo Bonzini X-Enigmail-Draft-Status: N1110 Message-ID: <55F29041.80306@redhat.com> Date: Fri, 11 Sep 2015 10:26:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <1441941457-23630-4-git-send-email-jasowang@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/09/2015 05:17, Jason Wang wrote: > + int len = r2->len ? r1->len : 0; > + > if (r1->addr < r2->addr) > return -1; > - if (r1->addr + r1->len > r2->addr + r2->len) > + if (r1->addr + len > r2->addr + r2->len) > return 1; Perhaps better: gpa_t addr1 = r1->addr; gpa_t addr2 = r2->addr; if (addr1 < addr2) return -1; /* If r2->len == 0, match the exact address. If r2->len != 0, * accept any overlapping write. Any order is acceptable for * overlapping ranges, because kvm_io_bus_get_first_dev ensures * we process all of them. */ if (r2->len) { addr1 += r1->len; addr2 += r2->len; } if (addr1 > addr2) return 1; return 0;