Message ID | 1442226704-29349-1-git-send-email-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
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 <pbonzini@redhat.com> > --- > 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 > >
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; }
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. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- linux-user/mmap.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)