Re: [PATCH v3 2/9] selftest/mremap_test: Avoid crash with static build

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 29, 2021 at 11:08 PM Aneesh Kumar K.V
<aneesh.kumar@xxxxxxxxxxxxx> wrote:
>
> With a large mmap map size, we can overlap with the text area and using
> MAP_FIXED results in unmapping that area. Switch to MAP_FIXED_NOREPLACE
> and handle the EEXIST error.
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx>

Reviewed-by: Kalesh Singh <kaleshsingh@xxxxxxxxxx>

> ---
>  tools/testing/selftests/vm/mremap_test.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/vm/mremap_test.c b/tools/testing/selftests/vm/mremap_test.c
> index c9a5461eb786..0624d1bd71b5 100644
> --- a/tools/testing/selftests/vm/mremap_test.c
> +++ b/tools/testing/selftests/vm/mremap_test.c
> @@ -75,9 +75,10 @@ static void *get_source_mapping(struct config c)
>  retry:
>         addr += c.src_alignment;
>         src_addr = mmap((void *) addr, c.region_size, PROT_READ | PROT_WRITE,
> -                       MAP_FIXED | MAP_ANONYMOUS | MAP_SHARED, -1, 0);
> +                       MAP_FIXED_NOREPLACE | MAP_ANONYMOUS | MAP_SHARED,
> +                       -1, 0);
>         if (src_addr == MAP_FAILED) {
> -               if (errno == EPERM)
> +               if (errno == EPERM || errno == EEXIST)
>                         goto retry;
>                 goto error;
>         }
> --
> 2.30.2
>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux