Le 03/11/2020 à 15:26, Peter Maydell a écrit : > In pgd_find_hole_fallback(), Coverity doesn't like the use > of "if (MAP_FIXED_NOREPLACE || ...)" because it's using a > logical operator on a constant other than 0 or 1 and its > heuristic thinks we might have intended a bitwise operator > instead. > > The logic is correct (we are checking whether the host really > has a MAP_FIXED_NOREPLACE or whether we fell back to the > "#define as 0 to ignore" from osdep.h); make Coverity > happier by explicitly writing out the comparison with zero. > > Fixes: Coverity CID 1431059 > Signed-off-by: Peter Maydell <[email protected]> > --- > linux-user/elfload.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/linux-user/elfload.c b/linux-user/elfload.c > index e19d0b5cb05..0b02a926025 100644 > --- a/linux-user/elfload.c > +++ b/linux-user/elfload.c > @@ -2188,7 +2188,8 @@ static uintptr_t pgd_find_hole_fallback(uintptr_t > guest_size, uintptr_t brk, > PROT_NONE, flags, -1, 0); > if (mmap_start != MAP_FAILED) { > munmap((void *) align_start, guest_size); > - if (MAP_FIXED_NOREPLACE || mmap_start == (void *) > align_start) { > + if (MAP_FIXED_NOREPLACE != 0 || > + mmap_start == (void *) align_start) { > return (uintptr_t) mmap_start + offset; > } > } >
Applied to my linux-user-for-5.2 branch. Thanks, Laurent
