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 0F247C43334 for ; Fri, 10 Jun 2022 23:35:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4E0658D00F8; Fri, 10 Jun 2022 19:35:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4C5C98D00F7; Fri, 10 Jun 2022 19:35:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 233858D00F8; Fri, 10 Jun 2022 19:35:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id E1EEF8D00E2 for ; Fri, 10 Jun 2022 19:35:43 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B719C4A3 for ; Fri, 10 Jun 2022 23:35:43 +0000 (UTC) X-FDA: 79563935766.16.847149B Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by imf21.hostedemail.com (Postfix) with ESMTP id 1C5591C0085 for ; Fri, 10 Jun 2022 23:35:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654904141; x=1686440141; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qDvqVZ/A3fM/nZiMoOHgbdE/phpXdySZH6n5Muy9S6I=; b=TJpBekqi2hduzLj9YIu9DDifYJpSA0C7myhRcjv/Vx4P2jk9JqZQ6sJA 1QgllMrF94rO0K1x8ePyYCeSxVJtRZIm9z+jv6nAlXl2YT5frLfQ9QHFw yWu/2IlYtxQUlawBlLI5MgJkW6af4+Y+Q9R5cbApqx1znApEckF28aJcz LrSBCeLim8sqC+fbbvpP0EsQfuJ/CyH9/IS4ActyizW7rwxwUZW268KKY 5HpXKMdbcfQ1V6xmaedN9NoQc9SJ/X3cD7qaWzM+7mXSAPsVgfza8acTB lJvVJQCQxwRaMnGTKS3XsknKT28hFYq5RKUw6ZqTQo0KXkHDuPKIF3EcC A==; X-IronPort-AV: E=McAfee;i="6400,9594,10374"; a="339530891" X-IronPort-AV: E=Sophos;i="5.91,291,1647327600"; d="scan'208";a="339530891" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2022 16:35:38 -0700 X-IronPort-AV: E=Sophos;i="5.91,291,1647327600"; d="scan'208";a="828500280" Received: from pleung-mobl1.amr.corp.intel.com (HELO localhost) ([10.212.33.34]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2022 16:35:37 -0700 From: ira.weiny@intel.com To: linux-api@vger.kernel.org Cc: Ira Weiny , Dave Hansen , "Aneesh Kumar K . V" , Sohil Mehta , x86@kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Subject: [RFC PATCH 3/6] testing/pkeys: Add additional test for pkey_alloc() Date: Fri, 10 Jun 2022 16:35:30 -0700 Message-Id: <20220610233533.3649584-4-ira.weiny@intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220610233533.3649584-1-ira.weiny@intel.com> References: <20220610233533.3649584-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1654904141; 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=P/13HPSlJBLJOJBlkyEzlwgidL2szixiGkS8FTGhazs=; b=3Cksbyeqa8E287P0AxFFJi6lqo32na58OE5CdRDSBCmi+OutFzOx9FO9ptMA8vmdMfhNEZ 4CEM7+k7WY051OBjJpSNUhaqebEn3G02V7MmXT9OYLaTKh0+7jwscdWqp5ZBUAtsUEM6NP iLRkF1E+W4xmY6fuCQdPQUmoeXm4pBM= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=TJpBekqi; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf21.hostedemail.com: domain of ira.weiny@intel.com has no SPF policy when checking 134.134.136.31) smtp.mailfrom=ira.weiny@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1654904141; a=rsa-sha256; cv=none; b=zXjMp6Gz/hhmAPG3duFHmqKnV6qxQOXYpJKSe1uQerVMtPGY2htgxBc7i3R4KAcWqUGBlZ kZY7hmLPECUQWC0t/hBEg7xHjU7eaFiSpFvO2Hhd09FIgZ6aEL3t51FgDeGtbc40a81bCm 4EyAks1pD5T84mRbm1MO4NG9cgt1vs0= X-Stat-Signature: 9c3mqcegs38yn5ykkiq63pj6qcpfby5p X-Rspamd-Queue-Id: 1C5591C0085 Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=TJpBekqi; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf21.hostedemail.com: domain of ira.weiny@intel.com has no SPF policy when checking 134.134.136.31) smtp.mailfrom=ira.weiny@intel.com X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1654904140-671458 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: From: Ira Weiny When pkeys are not available on the hardware pkey_alloc() has specific behavior which was previously untested. Add test for this. Cc: Dave Hansen Cc: Aneesh Kumar K.V Signed-off-by: Ira Weiny --- tools/testing/selftests/vm/protection_keys.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c index 43e47de19c0d..4b733a75606f 100644 --- a/tools/testing/selftests/vm/protection_keys.c +++ b/tools/testing/selftests/vm/protection_keys.c @@ -1554,6 +1554,16 @@ void test_implicit_mprotect_exec_only_memory(int *ptr, u16 pkey) do_not_expect_pkey_fault("plain read on recently PROT_EXEC area"); } +void test_pkey_alloc_on_unsupported_cpu(void) +{ + int test_pkey = sys_pkey_alloc(0, 0); + + dprintf1("pkey_alloc: %d (%d %s)\n", test_pkey, errno, + strerror(errno)); + pkey_assert(test_pkey < 0); + pkey_assert(errno == ENOSPC); +} + void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey) { int size = PAGE_SIZE; @@ -1688,6 +1698,8 @@ int main(int argc, char *argv[]) printf("running PKEY tests for unsupported CPU/OS\n"); + test_pkey_alloc_on_unsupported_cpu(); + ptr = mmap(NULL, size, PROT_NONE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); assert(ptr != (void *)-1); test_mprotect_pkey_on_unsupported_cpu(ptr, 1); -- 2.35.1