From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55025) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhZVc-0008MM-Ul for qemu-devel@nongnu.org; Thu, 01 Oct 2015 04:46:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZhZVY-0004bn-Gs for qemu-devel@nongnu.org; Thu, 01 Oct 2015 04:46:36 -0400 Received: from jessie.kos.to ([212.47.231.226]:34246 helo=pilvi.kos.to) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhZVY-0004av-AM for qemu-devel@nongnu.org; Thu, 01 Oct 2015 04:46:32 -0400 Date: Thu, 1 Oct 2015 11:46:29 +0300 From: Riku Voipio Message-ID: <20151001084629.GA8991@kos.to> References: <1442226704-29349-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1442226704-29349-1-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH] linux-user: assert that target_mprotect cannot fail List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org On Mon, Sep 14, 2015 at 12:31:44PM +0200, Paolo Bonzini wrote: > All error conditions that target_mprotect checks are also checked > by target_mmap. EACCESS cannot happen because we are just removing > PROT_WRITE. ENOMEM should not happen because we are modifying a > whole VMA (and we have bigger problems anyway if it happens). > > Fixes a Coverity false positive, where Coverity complains about > target_mprotect's return value being passed to tb_invalidate_phys_range. Applied to linux-user, thanks > Signed-off-by: Paolo Bonzini > --- > linux-user/mmap.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/linux-user/mmap.c b/linux-user/mmap.c > index b2126c7..5606bcd 100644 > --- a/linux-user/mmap.c > +++ b/linux-user/mmap.c > @@ -514,10 +514,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, > goto fail; > if (!(prot & PROT_WRITE)) { > ret = target_mprotect(start, len, prot); > - if (ret != 0) { > - start = ret; > - goto the_end; > - } > + assert(ret == 0); > } > goto the_end; > } > -- > 2.5.0 > >