Received: by 2002:ab2:710b:0:b0:1ef:a325:1205 with SMTP id z11csp1897619lql; Wed, 13 Mar 2024 11:09:49 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXYP6PVAxwd2h1NqBKTYdwRgq1aDUj/Q2cfJAZRQ5Qp9TScUkCn7CQ4DUpaubAi3O9WtcqBAcgXIebeJzE6fUFs3mc0gsXdNXlBKzks4A== X-Google-Smtp-Source: AGHT+IE0d5USiDX7MFse5dlYn1Nocf7eFgXazVgbYSrixVGbG6l/qhCZlPSOkJBHC/4v/ghZzvhU X-Received: by 2002:a50:c047:0:b0:566:ac48:9e27 with SMTP id u7-20020a50c047000000b00566ac489e27mr8997396edd.15.1710353389462; Wed, 13 Mar 2024 11:09:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710353389; cv=pass; d=google.com; s=arc-20160816; b=mC7VebDvTRwJ7jSrUojbTnrb1uP0C5AGQY1gpsqa8itq2VrrRnRGTvYmNZJYi1U7ie xo7ikVrjNhyF2qPE5hHV/SZSkgc81vVSafypPz9qeSVAPDw1yEQRktJMrrYbJIoTpgRo PkzkaENmWBuez6W6MrsXCNjWmVScCQoKIVZqxBap/F2uZsaHOiTz3CwxMThTqB8Z6n8i WnpNky8VlZlOT2rp1YbjxfuZyuc5cC6c2m0bpjYRAF77cvqr90wHkwM0hwQFzSWD78ig tWfJmC1McXGf4WmMPho+5NEuGIf3YJ5LrwWf5pVDawynLOucUJPsIxAdcb0dln0DNWiY rZdg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=TrWYfas6GHW46OQiKecjd2Mm9SkGepYZqbnVCm3oGZY=; fh=VmdOd7QNQzytIZLFUjxk4slNkpyWNLckGqmxYqdzuyw=; b=CAP4sTw1tDQD4HEtsq1inV1HVvNSdYt6MBsz/opkexRYne3SzZp2pVNc5wCqWG7AdC H0uLIPCHHW7Fu2Uju7M89A2Hxgr7B5F55ROOEqGk3XKaNYLM1EuLtJKOroEKPkGVG3Pe S6cuVmzh4ijvDRR3rqHJP8XSPqKSgd8/BAEgrV4UiuETHnqI+/CMRjoNa3PY7jPgMNsD njROegOhbgNwtoQRpoREL5O3+ANJ6BTgLQz5kGyPCHW+hNBHzjiqBtSpf4hdHa15Qotp /JDcZ/xJqWL3/+Jboni598o/urfqhnoLYh02U7qw2hJTKQ1aeXYpjI4Aj7N/PENfvJZI n0ww==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XKxI7dkv; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-102146-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-102146-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id m15-20020a056402430f00b005688b13e699si564611edc.78.2024.03.13.11.09.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Mar 2024 11:09:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-102146-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XKxI7dkv; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-102146-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-102146-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 354CA1F30B9D for ; Wed, 13 Mar 2024 18:09:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5732374BE8; Wed, 13 Mar 2024 17:02:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XKxI7dkv" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 67635745E4; Wed, 13 Mar 2024 17:02:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710349362; cv=none; b=m+ozlaYMqjC/tW346r2BYKPU9smmnY35k3qGnZiRxaGe+rNx9dgjVxmSbJA8RoHSeiy5wT2lUIitxSZQqzX3ZZc3/y4k2U/DddPLIkxn6bxm75tlEvDhg9myqfNtKFuN/0TNLD2EnzjdcyzViIrClMh3dWPMCO2+Ini4kxGsu40= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710349362; c=relaxed/simple; bh=LyeZc5QveyggAQYPY/hrck83W9yX91L3yriLGxrzjlU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hmDXU9LJbXLgD9104R2HOd4CzyctcH4iG+d/1jkMeKbupX2v28nPnzXwGN0szYdNuC7RywNfoqhAX/fBg/wd3gNq6oIKoLt9n1YrBCA7Mw1B/IhoPBOSnndMyXYMND2rIvqxibmkiGnEnj4DUoWkmPm0xO7gsFUJwy4CborLua8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XKxI7dkv; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id C39DCC43399; Wed, 13 Mar 2024 17:02:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710349362; bh=LyeZc5QveyggAQYPY/hrck83W9yX91L3yriLGxrzjlU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XKxI7dkvZYxPRHIXro8P1rmohz1NXiATrqQ5lN9nToO5OgLEiExQDKRv3wc7oydrE PqFIPieLTxrKPkWs0/8rKiljsqXazK2M1YmApJCPEG92yPKTuLelkoMPOetpD3nx6x yrPNrwQMiCgQ4ccrauwbyQRIjHf2fgKYZ7x7hH3U5VMPOyqw5eGpx7a0Se6pUGaKj9 m7F+GU2hL2VEkE7H86FGwaiwzjRbzYBzcU0b2+GVL1oIVp/GEePbwp0MVxVNerHwxk 8DOCzGvWXPbOHMzbW5hlDgZLi2iTIWVkXHZTdGT00crH0ZArcR6Fn+/pbvXfabq8+a nYVsw2sxR9JdA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Nico Pache , Donet Tom , Shuah Khan , Christophe Leroy , Michael Ellerman , Andrew Morton , Sasha Levin Subject: [PATCH 5.4 25/51] selftests: mm: fix map_hugetlb failure on 64K page size systems Date: Wed, 13 Mar 2024 13:01:46 -0400 Message-ID: <20240313170212.616443-26-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240313170212.616443-1-sashal@kernel.org> References: <20240313170212.616443-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.272-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-5.4.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 5.4.272-rc1 X-KernelTest-Deadline: 2024-03-15T17:02+00:00 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Nico Pache [ Upstream commit 91b80cc5b39f00399e8e2d17527cad2c7fa535e2 ] On systems with 64k page size and 512M huge page sizes, the allocation and test succeeds but errors out at the munmap. As the comment states, munmap will failure if its not HUGEPAGE aligned. This is due to the length of the mapping being 1/2 the size of the hugepage causing the munmap to not be hugepage aligned. Fix this by making the mapping length the full hugepage if the hugepage is larger than the length of the mapping. Link: https://lkml.kernel.org/r/20240119131429.172448-1-npache@redhat.com Signed-off-by: Nico Pache Cc: Donet Tom Cc: Shuah Khan Cc: Christophe Leroy Cc: Michael Ellerman Cc: Signed-off-by: Andrew Morton Signed-off-by: Sasha Levin --- tools/testing/selftests/vm/map_hugetlb.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/testing/selftests/vm/map_hugetlb.c b/tools/testing/selftests/vm/map_hugetlb.c index 312889edb84ab..c65c55b7a789f 100644 --- a/tools/testing/selftests/vm/map_hugetlb.c +++ b/tools/testing/selftests/vm/map_hugetlb.c @@ -15,6 +15,7 @@ #include #include #include +#include "vm_util.h" #define LENGTH (256UL*1024*1024) #define PROTECTION (PROT_READ | PROT_WRITE) @@ -70,10 +71,16 @@ int main(int argc, char **argv) { void *addr; int ret; + size_t hugepage_size; size_t length = LENGTH; int flags = FLAGS; int shift = 0; + hugepage_size = default_huge_page_size(); + /* munmap with fail if the length is not page aligned */ + if (hugepage_size > length) + length = hugepage_size; + if (argc > 1) length = atol(argv[1]) << 20; if (argc > 2) { -- 2.43.0