Le 31/01/2021 à 07:19, Vincent Fazio a écrit : > From: Vincent Fazio <vfa...@gmail.com> > > Previously, pgd_find_hole_fallback assumed that if the build host's libc > had MAP_FIXED_NOREPLACE defined that the address returned by mmap would > match the requested address. This is not a safe assumption for Linux > kernels prior to 4.17 > > Now, we always compare mmap's resultant address with the requested > address and no longer short-circuit based on MAP_FIXED_NOREPLACE. > > Fixes: 2667e069e7b5 ("linux-user: don't use MAP_FIXED in > pgd_find_hole_fallback") > Signed-off-by: Vincent Fazio <vfa...@gmail.com> > --- > linux-user/elfload.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/linux-user/elfload.c b/linux-user/elfload.c > index 5f5f23d2e5..8d425f9ed0 100644 > --- a/linux-user/elfload.c > +++ b/linux-user/elfload.c > @@ -2217,8 +2217,7 @@ 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(mmap_start, guest_size); > - if (MAP_FIXED_NOREPLACE != 0 || > - mmap_start == (void *) align_start) { > + if (mmap_start == (void *) align_start) { > return (uintptr_t) mmap_start + offset; > } > } >
Reviewed-by: Laurent Vivier <laur...@vivier.eu> CC: Alex Why did you put this checking in first place? Thanks, Laurent