[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMn1gO42sPYDajZN7MuysTeGJmxvby=sFuU1eXt0APo_Y5FFSQ@mail.gmail.com>
Date: Thu, 29 Jul 2021 10:58:11 -0700
From: Peter Collingbourne <pcc@...gle.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Lokesh Gidra <lokeshgidra@...gle.com>,
Catalin Marinas <catalin.marinas@....com>,
Vincenzo Frascino <vincenzo.frascino@....com>,
Dave Martin <Dave.Martin@....com>,
Will Deacon <will@...nel.org>,
Andrea Arcangeli <aarcange@...hat.com>,
Alistair Delva <adelva@...gle.com>,
William McVicker <willmcvicker@...gle.com>,
Evgenii Stepanov <eugenis@...gle.com>,
Mitch Phillips <mitchp@...gle.com>,
Andrey Konovalov <andreyknvl@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
donnyxia@...gle.com
Subject: Re: [PATCH 5.13 191/223] selftest: use mmap instead of posix_memalign
to allocate memory
On Mon, Jul 26, 2021 at 9:16 AM Greg Kroah-Hartman
<gregkh@...uxfoundation.org> wrote:
>
> From: Peter Collingbourne <pcc@...gle.com>
>
> commit 0db282ba2c12c1515d490d14a1ff696643ab0f1b upstream.
>
> This test passes pointers obtained from anon_allocate_area to the
> userfaultfd and mremap APIs. This causes a problem if the system
> allocator returns tagged pointers because with the tagged address ABI
> the kernel rejects tagged addresses passed to these APIs, which would
> end up causing the test to fail. To make this test compatible with such
> system allocators, stop using the system allocator to allocate memory in
> anon_allocate_area, and instead just use mmap.
>
> Link: https://lkml.kernel.org/r/20210714195437.118982-3-pcc@google.com
> Link: https://linux-review.googlesource.com/id/Icac91064fcd923f77a83e8e133f8631c5b8fc241
> Fixes: c47174fc362a ("userfaultfd: selftest")
> Co-developed-by: Lokesh Gidra <lokeshgidra@...gle.com>
> Signed-off-by: Lokesh Gidra <lokeshgidra@...gle.com>
> Signed-off-by: Peter Collingbourne <pcc@...gle.com>
> Reviewed-by: Catalin Marinas <catalin.marinas@....com>
> Cc: Vincenzo Frascino <vincenzo.frascino@....com>
> Cc: Dave Martin <Dave.Martin@....com>
> Cc: Will Deacon <will@...nel.org>
> Cc: Andrea Arcangeli <aarcange@...hat.com>
> Cc: Alistair Delva <adelva@...gle.com>
> Cc: William McVicker <willmcvicker@...gle.com>
> Cc: Evgenii Stepanov <eugenis@...gle.com>
> Cc: Mitch Phillips <mitchp@...gle.com>
> Cc: Andrey Konovalov <andreyknvl@...il.com>
> Cc: <stable@...r.kernel.org> [5.4]
> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> Signed-off-by: Linus Torvalds <torvalds@...ux-foundation.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> ---
> tools/testing/selftests/vm/userfaultfd.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> --- a/tools/testing/selftests/vm/userfaultfd.c
> +++ b/tools/testing/selftests/vm/userfaultfd.c
> @@ -197,8 +197,10 @@ static int anon_release_pages(char *rel_
>
> static void anon_allocate_area(void **alloc_area)
> {
> - if (posix_memalign(alloc_area, page_size, nr_pages * page_size)) {
> - fprintf(stderr, "out of memory\n");
> + *alloc_area = mmap(NULL, nr_pages * page_size, PROT_READ | PROT_WRITE,
> + MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
> + if (*alloc_area == MAP_FAILED)
Hi Greg,
It looks like your backport of this patch (and the backports to stable
kernels) are missing a left brace here.
Peter
> + fprintf(stderr, "mmap of anonymous memory failed");
> *alloc_area = NULL;
> }
> }
>
>
Powered by blists - more mailing lists