On Tue, 28 Jul 2020 at 17:04, Alex Bennée <alex.ben...@linaro.org> wrote: > Peter Maydell <peter.mayd...@linaro.org> writes: > > Hi; Coverity thinks this conditional expression is suspicious > > (CID 1431059): > > > >> if (mmap_start != MAP_FAILED) { > >> munmap((void *) align_start, guest_size); > >> - return (uintptr_t) mmap_start + offset; > >> + if (MAP_FIXED_NOREPLACE || mmap_start == (void *) > >> align_start) { > > > > because it's performing a logical OR operation where the left > > operand is an integer constant that's neither 0 nor 1 > > (it's 1048576). What was this intended to be? > > It's 0 if the header doesn't provide it. If it's !0 we don't need to > check the address because it should have been in the correct place.
OK. "if (MAP_FIXED_NOREPLACE != 0 || ...)" will probably satisfy Coverity then. -- PMM