From patchwork Wed Jul 7 18:43:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Collingbourne X-Patchwork-Id: 12363999 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-26.6 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDCB6C07E95 for ; Wed, 7 Jul 2021 19:48:01 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 686C961CBE for ; Wed, 7 Jul 2021 19:48:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 686C961CBE Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 4E18F6B005D; Wed, 7 Jul 2021 15:48:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B8876B006C; Wed, 7 Jul 2021 15:48:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 35B016B0070; Wed, 7 Jul 2021 15:48:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0007.hostedemail.com [216.40.44.7]) by kanga.kvack.org (Postfix) with ESMTP id 166046B005D for ; Wed, 7 Jul 2021 15:48:01 -0400 (EDT) Received: from smtpin07.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 6EFBC180428FB for ; Wed, 7 Jul 2021 19:48:00 +0000 (UTC) X-FDA: 78336827520.07.1B3A002 Received: from mail-pf1-f201.google.com (mail-pf1-f201.google.com [209.85.210.201]) by imf05.hostedemail.com (Postfix) with ESMTP id 1B74C500644C for ; Wed, 7 Jul 2021 19:47:59 +0000 (UTC) Received: by mail-pf1-f201.google.com with SMTP id 124-20020a6217820000b02902feebfd791eso2179390pfx.19 for ; Wed, 07 Jul 2021 12:47:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=Rhp3BKIpjKyJeRxRqWuyTX92X8tONQf5DKJFV9GgdPE=; b=c/OqeybiDBJu1t6JnaImpv47tr2Ob0KDl0V73uPNIXEH2QZYKXxQnns6XmMwV5PLxM 8Lj2jF4NV17b4XKzFfqhxNVcR7ovkTKc/cy3lE3VBcvEvyrNtzEVl9w2WePyv2qJ7xss r+NQ7UzBdNLrW20P13Hq36xiS59Vb0/nM4mGlpqbdvQWHIDPM2Ur18UNSrdYL6ABJmDd KTd/IBgRuVkWgYVsc5gcK0EP2CvWtT2yg4LciWdSb2dj6y9C3u6TO1QKShMays8o2JA9 FTyErolmjpvcq1GyTfiDU7whOe/7OuHlEWgIa0n1jJ1p+kHfmTIoPn++tjr88p9OOv9t 5omw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=Rhp3BKIpjKyJeRxRqWuyTX92X8tONQf5DKJFV9GgdPE=; b=ofhQdPBPbaoZQPhCdIGAJGFL9bwQGyWTHOE9eozlDZ1CMammQStKs9TnStLEswan2Z vmHBPLPsjtRW6Yycjaakig39lGtWSCJgF2CCIT9cRwBArNqGXuKAnbZUU2n4SpBr056Q XwfdFUYAvmgo5K+kZ6Lrguk7TT82gVA82ANvIiEI/D2jzSVWZF/yE4pa7VOqn/VFprDZ HIidmXdVsetqvAkOs9yGRBbx5ZE/Hli+XfaB+1D24s3BaLSvTW/qpm+3sdlMdvCiVdNv 9UdiJ4vKsFBsvVQek8vVB0dVG3aW0HOiPI4uR+5BJ4Egw/cgJTbn2/QTDGG0UbSXs+fj OlBA== X-Gm-Message-State: AOAM5323Ver8yYBdpOSWz2+eSrLBbOeJ+5HDIGwDPbGdKQaXYkuXJqmJ Rz0cv03ki0Uj/r5EcERhm6ZDwdU= X-Google-Smtp-Source: ABdhPJyek+w3/MK5+sdPwSDQnHlLoCSmddNfmUwmGCeqLHtiM1vO19K+SGLQtSdYi7FObRgFloXl5m0= X-Received: from pcc-desktop.svl.corp.google.com ([2620:15c:2ce:200:3b71:8b83:5f3c:e3df]) (user=pcc job=sendgmr) by 2002:a05:6214:1087:: with SMTP id o7mr3739459qvr.27.1625683403337; Wed, 07 Jul 2021 11:43:23 -0700 (PDT) Date: Wed, 7 Jul 2021 11:43:13 -0700 In-Reply-To: <20210707184313.3697385-1-pcc@google.com> Message-Id: <20210707184313.3697385-3-pcc@google.com> Mime-Version: 1.0 References: <20210707184313.3697385-1-pcc@google.com> X-Mailer: git-send-email 2.32.0.93.g670b81a890-goog Subject: [PATCH v4 2/2] selftest: use mmap instead of posix_memalign to allocate memory From: Peter Collingbourne To: Catalin Marinas , Vincenzo Frascino , Dave Martin , Will Deacon , Andrew Morton , Andrea Arcangeli Cc: Peter Collingbourne , Alistair Delva , Lokesh Gidra , William McVicker , Evgenii Stepanov , Mitch Phillips , Linux ARM , linux-mm@kvack.org, Andrey Konovalov , stable@vger.kernel.org Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20161025 header.b="c/Oqeybi"; spf=pass (imf05.hostedemail.com: domain of 3y_XlYAMKCFwJ66AIIAF8.6IGFCHOR-GGEP46E.ILA@flex--pcc.bounces.google.com designates 209.85.210.201 as permitted sender) smtp.mailfrom=3y_XlYAMKCFwJ66AIIAF8.6IGFCHOR-GGEP46E.ILA@flex--pcc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 1B74C500644C X-Rspam-User: nil X-Stat-Signature: x7d8oo1mojzk9kmxenfe8agd5rxnhqwy X-HE-Tag: 1625687279-863211 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 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. Co-developed-by: Lokesh Gidra Signed-off-by: Lokesh Gidra Signed-off-by: Peter Collingbourne Fixes: c47174fc362a ("userfaultfd: selftest") Cc: # 5.4 Link: https://linux-review.googlesource.com/id/Icac91064fcd923f77a83e8e133f8631c5b8fc241 Reviewed-by: Catalin Marinas --- tools/testing/selftests/vm/userfaultfd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c index f5ab5e0312e7..d0f802053dfd 100644 --- 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_area) 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) { + fprintf(stderr, "anon memory mmap failed\n"); *alloc_area = NULL; } }