From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id ACF23C83F15 for ; Mon, 28 Aug 2023 15:09:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29F7F8E0022; Mon, 28 Aug 2023 11:09:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 201308E001A; Mon, 28 Aug 2023 11:09:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0A1DE8E0022; Mon, 28 Aug 2023 11:09:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id ED72F8E001A for ; Mon, 28 Aug 2023 11:09:11 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B9BB9140435 for ; Mon, 28 Aug 2023 15:09:11 +0000 (UTC) X-FDA: 81173846502.06.09179DC Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by imf20.hostedemail.com (Postfix) with ESMTP id D2CE41C0020 for ; Mon, 28 Aug 2023 15:09:09 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="KcBVK2L/"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf20.hostedemail.com: domain of revest@chromium.org designates 209.85.128.54 as permitted sender) smtp.mailfrom=revest@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693235349; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dSsehURxisS0cPQOlmw5cEhdkgRF5G0B9O4abug5R1Y=; b=zlcGTmFHDy1wpCIlzniKgSUi8X6x8XZSg/AjDxkVdKHAotVDIvGGBQiC7Y3aVXG1q58Nnm 0L82199AUzkaK2ztl0MjraprOzb2ZVZPCKZMR5GSRKpMY9rk0/mNH9fr2OxeHj0YgLSqRb /vP/zQzYNUh3TsbPio9g47egq2+6zBc= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="KcBVK2L/"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf20.hostedemail.com: domain of revest@chromium.org designates 209.85.128.54 as permitted sender) smtp.mailfrom=revest@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693235349; a=rsa-sha256; cv=none; b=PZuncar0NPtjh8ipOAX8xSxYBQ/oCAVf4dsIn84MeES9Z5ZFt2ysDKlTXTrgcmbYUjlUzN zrRF0mmjMvLv/eZ9t8CyIv4X10sgjP6EA2inYleGduC7hXxMuuvNqZYzi7GFdVUVyClniM KzaG2KvLU8wY2zVNWjhe95X2ZUw4TZY= Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-3fef56f7248so30986685e9.3 for ; Mon, 28 Aug 2023 08:09:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1693235348; x=1693840148; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dSsehURxisS0cPQOlmw5cEhdkgRF5G0B9O4abug5R1Y=; b=KcBVK2L/+QiqeWFTYXdOHgeUKp7DE3X4tkqvOHvJL3c9l2s8PVNUDW7Vbov+Z+q4gQ mcZKACunCQ1/A/aDTljARoKg3f6xbibrlG6bzvrYRt2IfOW/RY1hCJt/5Bjtk9lSUGNn 58lL0yysgJLrF2YisIvCE3BrZVByNt8ljS8SY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693235348; x=1693840148; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dSsehURxisS0cPQOlmw5cEhdkgRF5G0B9O4abug5R1Y=; b=axVW0Faz9e9UVT+5WqTrRJv1bWQbIarLRuLNZB7Q2sWnePTOU064zkTmxN4AyyYY+X 4uAmIXhxOXEPL6/Oju+QYIrBfebiekuRByc38P+dv4OQfZ/I7go3O9sp8QSI58KuZyU+ XUHvp55idnlRt6Hl1I4Vv60qPErusj0NugPAhDteu626vbMShMhX/0ZrMumoMC4vzfzS 5ihwEDaX6Cj+tDDdjzVYrvXiVbJ47Tnv1x078gFHNp4Eg8IXQ2a87gVr1FH82YkDBk1B Pwqu5ab6ov1/TDVZlVZR8BL8EZ5J2tj6Bb5Xo8zFlfvPzDBiq+gXTcL5ju3ZO8dqpKD3 ZtbA== X-Gm-Message-State: AOJu0Yz8Q1WH3ixy4tgbhzz3RM1uLIAZ1wnHi5cyUkkKQInmJSUUzr7+ 4ISmjJp4MN+uhxbehNahzTZiSA== X-Google-Smtp-Source: AGHT+IEAybtNw1oHry9kGIGPO60mG51GaKuwtgSiIvjeqoNDFS3SqrUaPm7yaU7LHb+xUqgnOcm9kA== X-Received: by 2002:a5d:574f:0:b0:317:5ece:e16a with SMTP id q15-20020a5d574f000000b003175ecee16amr18928693wrw.50.1693235348569; Mon, 28 Aug 2023 08:09:08 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:40c6:6cff:63b:c70a]) by smtp.gmail.com with ESMTPSA id v3-20020a5d43c3000000b003140fff4f75sm10730522wrr.17.2023.08.28.08.09.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Aug 2023 08:09:07 -0700 (PDT) From: Florent Revest To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, catalin.marinas@arm.com, anshuman.khandual@arm.com, joey.gouly@arm.com, mhocko@suse.com, keescook@chromium.org, david@redhat.com, peterx@redhat.com, izbyshev@ispras.ru, broonie@kernel.org, szabolcs.nagy@arm.com, kpsingh@kernel.org, gthelen@google.com, toiwoton@gmail.com, ayush.jain3@amd.com, Florent Revest , Ryan Roberts Subject: [PATCH v4 2/6] kselftest: vm: Fix mdwe's mmap_FIXED test case Date: Mon, 28 Aug 2023 17:08:54 +0200 Message-ID: <20230828150858.393570-3-revest@chromium.org> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog In-Reply-To: <20230828150858.393570-1-revest@chromium.org> References: <20230828150858.393570-1-revest@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: D2CE41C0020 X-Stat-Signature: e18x5xqipyhpamd5ospqrgr49kipxip9 X-Rspam-User: X-HE-Tag: 1693235349-734052 X-HE-Meta: U2FsdGVkX18AdkIGhKFQTR61Gpz1J0CuipNcKpzfMQ/blDTl1Fysx50i+P15MFKIzcyFrPK71yZXC66WggVu51IkiMs9O7Dez0/e/L1tVqH5nr6+YdIQr5/EBdkfpXNSr0tyrlwByB+wJmnn/K+PRq2oeGN8oqDDVwiN9YceS1oMk7GJ23xlngEr3sO+cBjq9dJhHnZpWJn03theDqTcrjyKVqgK+/+uLQCf6zVK3smi5XFLFTfERS9qiqnu/Z9Fpj3T3RNC51O1ZF3brqCdaGq5c0umIq251+OXSAL4nByRQ0rQI1nQXDQhcQiVrupsS4+IqZUwN6J+lP25reHdOUPxZPn2uiXEoR/lShlc0PZUQ5qdcP5/FVeI87PLd8T4bfTQ5Jarl5zP3NkxcYULZ5JcrC+p0Q0Tw1LJR9fIuH2Mod0xIRlof23RabOVGoSBdRYntYqY3sjUnw/ZDW+miUDdETqmw6oyrqxkNjhJfS5dcqABra2HMkE9gSXrUrrm0BN9Ou6g5yEx04xt1N62cL8AJ1aarmbCrzSJObrDdwIXEv/ks/Yhl+K7dPc3nScKFnAhbxAI48reC8fIZPH8p6akll8yvvOwCf6BMjzEEsxrT9NRq9KZ5U7D96vUVRjtxN6lsWgaSz10+njNwOgg7a8N0dBL35cxyDu0iwh6IMgp+Ex83yAT9eVavRX9I45mJz9O8KNmPOkUEHKJKqHAcJlEb0gM55RLA8vUUlcIQiQc07rOAZHqDnqkfuzUBO9wtXgvv0SvNOF63Vu2NG9qJlbYVeGnweGPC/mcq9YCBzzvHYIOi/Km3/j6t+8gSEsF20qTG4uQcpXcENDupwejPJQmYLWqgfZOtT85Uz28fXOssABj/mAEp8BhS/XXnwKEQwDUa0WPLGzNOmMbg+cor3LakYUsBpT6ebN/kGIHbp5Fh+gmLKrAlGcI6WWh8m+tqNlPiyE/qR+KReKfNpE dYclSc9a UnID0eUHPtJk7PujEBgJdEelyQI1umFjUiAptwULxvaXAPwmof8I3WimQIhKPX1g53cyzfc/QllBcViO3KCPLqZST9XKirnm1Eov6C0dRfRt4VGB1fldEGqBpLgIqRn2BfjynnnKHduVEKvr+OKwr9K/hNpo6VAvIeE1nYDwkkC1pOkejh0/1G992ylz0ewcUFZtgL5duOlu6MI0VOugmI3y6n1w7FdDC2J+IBsbtmQMKpQbTd5ty+Tl2Tjl6E+/9OHAawiz8+3dnmeAmBC3cJm1A9QBXby1cSEn4ncFmYm1uYiBPW4vTQcYNpKtrhjrm6wORBQi+6Z+WZguaM8pai+kP9VVSNUJiC0ds4eW6RjVID5aX0r9q8URPutTq/ybo/9esJG2J4FY2m+A6Wcc9Vo4y7fwrOKpafs4lPzvhWcMmyf2RGv/AnI4vbQ/yMjp67hBJK3BqDwBHmyEiOkZ/0B19HECfMtlFHZVxP0614busg/gi5CO9wVXHCWPtZ29SUP0rlzrgfsKrV3oeBrT5cUs8fXL3kpS14ygMOc7jTK+Lx/MfYCz39uUXFA== 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: I checked with the original author, the mmap_FIXED test case wasn't properly tested and fails. Currently, it maps two consecutive (non overlapping) pages and expects the second mapping to be denied by MDWE but these two pages have nothing to do with each other so MDWE is actually out of the picture here. What the test actually intended to do was to remap a virtual address using MAP_FIXED. However, this operation unmaps the existing mapping and creates a new one so the va is backed by a new page and MDWE is again out of the picture, all remappings should succeed. This patch keeps the test case to make it clear that this situation is expected to work: MDWE shouldn't block a MAP_FIXED replacement. Signed-off-by: Florent Revest Reviewed-by: David Hildenbrand Reviewed-by: Kees Cook Reviewed-by: Catalin Marinas Reviewed-by: Ryan Roberts Tested-by: Ryan Roberts Tested-by: Ayush Jain Fixes: 4cf1fe34fd18 ("kselftest: vm: add tests for memory-deny-write-execute") --- tools/testing/selftests/mm/mdwe_test.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/mm/mdwe_test.c b/tools/testing/selftests/mm/mdwe_test.c index d0954c657feb..91aa9c3099e7 100644 --- a/tools/testing/selftests/mm/mdwe_test.c +++ b/tools/testing/selftests/mm/mdwe_test.c @@ -168,13 +168,10 @@ TEST_F(mdwe, mmap_FIXED) self->p = mmap(NULL, self->size, PROT_READ, self->flags, 0, 0); ASSERT_NE(self->p, MAP_FAILED); - p = mmap(self->p + self->size, self->size, PROT_READ | PROT_EXEC, + /* MAP_FIXED unmaps the existing page before mapping which is allowed */ + p = mmap(self->p, self->size, PROT_READ | PROT_EXEC, self->flags | MAP_FIXED, 0, 0); - if (variant->enabled) { - EXPECT_EQ(p, MAP_FAILED); - } else { - EXPECT_EQ(p, self->p); - } + EXPECT_EQ(p, self->p); } TEST_F(mdwe, arm64_BTI) -- 2.42.0.rc2.253.gd59a3bf2b4-goog