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 B223FC54E66 for ; Wed, 13 Mar 2024 18:12:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 42C7180056; Wed, 13 Mar 2024 14:12:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3DCDC940010; Wed, 13 Mar 2024 14:12:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2A51880056; Wed, 13 Mar 2024 14:12:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 1B304940010 for ; Wed, 13 Mar 2024 14:12:36 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A6D06120751 for ; Wed, 13 Mar 2024 18:12:35 +0000 (UTC) X-FDA: 81892811070.25.A1A8DFD Received: from madrid.collaboradmins.com (madrid.collaboradmins.com [46.235.227.194]) by imf06.hostedemail.com (Postfix) with ESMTP id DE2CB180010 for ; Wed, 13 Mar 2024 18:12:32 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=HF+a7X5l; spf=pass (imf06.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.194 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com; dmarc=pass (policy=quarantine) header.from=collabora.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710353553; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=E5EATbr7ik6BdyfS1f5n+IQYWvgzlzVXxY9x4afcmOc=; b=QWuvaGiL+PSQldair0vfZoXR+T5p6tCL5X4CCaFAGS1ACQeV/EgmT3yLnF159iDTT2nHUK U2H6KyNird5PwYCZaygBQZDxxYtRC2tF9BG6P14bMDW0Luxeyp122Ph1tkt5i8q/gzzVrX Jf08WxBehH7NrGUofiZatyymVplktYE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710353553; a=rsa-sha256; cv=none; b=GVBvj4mGykgej4Fh9cGLMi71CHXrR6py9HrkprPy5MaGhX81w2Lk5CQEb5Jy34EupyCPYu +ZKtXSudUv/oNOMDNcV12SaGbMlrgkN7VCAoJJ8/0pr0/RTBjZWLPa0ytiLCwIAZxizu9N H36UGwVEQ9PtILAM8ENtSLZxQTvSH6w= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=HF+a7X5l; spf=pass (imf06.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.194 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com; dmarc=pass (policy=quarantine) header.from=collabora.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1710353551; bh=msE+LoodrnJuR41WimKwSvVNdBUojEMdM6lEeYgLaLE=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=HF+a7X5lXjnxaIDWE/8k8QRhMGELdabzRPU9htidGUlZ/EkTMOnUa2qc40ZRT3e5v PXC1jq4Zty8ILQfh1SXwhw9ef53eHANm63bltn1VsnnJpWbj8AimTd/hTRX+MehWL2 N5VuZOLXcOb7nlGDoKOCTYK5UYa8sSeN1Yb/JVAn25GMy91aMtu5Ay5EUZEovc3Wy6 ERV6xwp0yoPWRhiCe3z7nbem9T2YSM+9Ho6xace7PVCBt6ttEEtMxKRlR2dpoVStrY sBFyGkwe2sSDtEai0T0RRdfJz9fgPUO1+dBd0mnz6dvvAJ5RmoCcifOM4/05w3lRTq To+iwhhdmvJxg== Received: from [10.193.1.1] (broslavsky.collaboradmins.com [68.183.210.73]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by madrid.collaboradmins.com (Postfix) with ESMTPSA id 3126537802F2; Wed, 13 Mar 2024 18:12:26 +0000 (UTC) Message-ID: Date: Wed, 13 Mar 2024 23:12:58 +0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: Muhammad Usama Anjum , Andrew Morton , Shuah Khan , kernel@collabora.com, Ryan Roberts , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 4/5] selftests/mm: protection_keys: save/restore nr_hugepages settings To: Joey Gouly References: <20240125154608.720072-1-usama.anjum@collabora.com> <20240125154608.720072-5-usama.anjum@collabora.com> <20240313145811.GA2896554@e124191.cambridge.arm.com> Content-Language: en-US From: Muhammad Usama Anjum In-Reply-To: <20240313145811.GA2896554@e124191.cambridge.arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: DE2CB180010 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: xwud9thr3996uc4igkhsjmbpjgwusytm X-HE-Tag: 1710353552-933207 X-HE-Meta: U2FsdGVkX1+PN97tFllqwX2bbagk7ztHMkNwDc522lRusxvsuJMIZbqtyzuuitrBNfORciDRLq6vvX+GF43ku28dislVi3TH3ti4DskTYtdMCVsS5jAeWkftBklY640J9yDlEDbixr7hkwe8efmvFOAoqrQMgN9A7l+bJrHuaut2JcWma9//7OzorkjJTmz/QOlMOryJwyGCQnCTQUNUeun7pyPSg9/s6/QWG0iYM82rNBTDHERx0B+RU4Xf636SE9tndjRTozwaWJct9dMaxlcX+tIILf3hgx6MP8FYT1inr/VWpZm1oUCIzWTHABSxVZMR/bTsicRfvuwAYWiHePvl1C9IhOIN1stOBK8pGe8wqri1ZcKswmGfFThC34DhypzbD6wd4xfV0JsUqxo/7n7DNGJIgZ5evsSsjGekgyD0iWzFRBdWyPKNcNrRsSXkX3q0VTP2Ch0/JTsoYrqw0mJXsSDgTGpMRd0R/agg+Ma+iHvPado+p4u/4ergmq7/apIolwo0dFbIXI8DykTeGG8sVocZGz9ordsZT3cq472SuIGf7lQJcnzAY7302uI6D9T08IIbf6m6B4SBqR272FNepcQlobvP8gRSJZTgcJkWMm5I0p9F8PP1OPJ4rB+OcBpeXSjLkrjAE7BAh16Cu1CDnSqv8nOVck0mC/skM0p4OSDN5ov7cwjv+TryxrF9DriXG2pFkV6uAbOl42TUovYTAGaD/QIcLhDRs3B8MF2QdDQaGGeS5mQwvr9DGfImIcDFu70J4D4f6FBGAoMLigk/WYAKxq8bO3SK0HWXG8FFefhrpXMggoK+KHZTpFULVh/YsQSWogf4sMRyaP0KPL15LO8TzbbeSw4OMtdhAqczRbjtcWwP2avpou8uxdACFWQ5gDcAzl6/C7TbwmN3lGmS5Fft2y6TcqXO4hM+bV+NrUHmhDhETHxpEc9q7yMk5TT+VBBFQmXLLNO2Fnk Kcw99DFF 9eU56Wak2zCYuIXo= 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: List-Subscribe: List-Unsubscribe: On 3/13/24 7:58 PM, Joey Gouly wrote: > Hi Muhammad, > > On Thu, Jan 25, 2024 at 08:46:07PM +0500, Muhammad Usama Anjum wrote: >> Save and restore nr_hugepages before changing it during the test. A test >> should not change system wide settings. >> >> Fixes: 5f23f6d082a9 ("x86/pkeys: Add self-tests") >> Signed-off-by: Muhammad Usama Anjum >> --- >> tools/testing/selftests/mm/protection_keys.c | 34 ++++++++++++++++++++ >> 1 file changed, 34 insertions(+) >> >> diff --git a/tools/testing/selftests/mm/protection_keys.c b/tools/testing/selftests/mm/protection_keys.c >> index 48dc151f8fca8..f822ae31af22e 100644 >> --- a/tools/testing/selftests/mm/protection_keys.c >> +++ b/tools/testing/selftests/mm/protection_keys.c >> @@ -54,6 +54,7 @@ int test_nr; >> u64 shadow_pkey_reg; >> int dprint_in_signal; >> char dprint_in_signal_buffer[DPRINT_IN_SIGNAL_BUF_SIZE]; >> +char buf[256]; >> >> void cat_into_file(char *str, char *file) >> { >> @@ -1744,6 +1745,38 @@ void pkey_setup_shadow(void) >> shadow_pkey_reg = __read_pkey_reg(); >> } >> >> +void restore_settings_atexit(void) >> +{ >> + cat_into_file(buf, "/proc/sys/vm/nr_hugepages"); >> +} >> + >> +void save_settings(void) >> +{ >> + int fd; >> + int err; >> + >> + if (geteuid()) >> + return; >> + >> + fd = open("/proc/sys/vm/nr_hugepages", O_RDONLY); >> + if (fd < 0) { >> + fprintf(stderr, "error opening\n"); >> + perror("error: "); >> + exit(__LINE__); >> + } >> + >> + /* -1 to guarantee leaving the trailing \0 */ >> + err = read(fd, buf, sizeof(buf)-1); >> + if (err < 0) { >> + fprintf(stderr, "error reading\n"); >> + perror("error: "); >> + exit(__LINE__); >> + } >> + >> + atexit(restore_settings_atexit); >> + close(fd); >> +} >> + >> int main(void) >> { >> int nr_iterations = 22; >> @@ -1751,6 +1784,7 @@ int main(void) >> >> srand((unsigned int)time(NULL)); >> >> + save_settings(); >> setup_handlers(); >> >> printf("has pkeys: %d\n", pkeys_supported); >> -- >> 2.42.0 >> > > This break the tests for me: > > assert() at protection_keys.c::812 test_nr: 19 iteration: 1 > running abort_hooks()... > > This is because some of the tests fork, so on their atexit() they will set the > nr_hugepages back to the previous setting. Specifically the > test_pkey_alloc_exhaust() test. Thank you for reporting. Please can you test the following patch: --- a/tools/testing/selftests/mm/protection_keys.c +++ b/tools/testing/selftests/mm/protection_keys.c @@ -1745,9 +1745,12 @@ void pkey_setup_shadow(void) shadow_pkey_reg = __read_pkey_reg(); } +pid_t parent_pid; + void restore_settings_atexit(void) { - cat_into_file(buf, "/proc/sys/vm/nr_hugepages"); + if (parent_pid == getpid()) + cat_into_file(buf, "/proc/sys/vm/nr_hugepages"); } void save_settings(void) @@ -1773,6 +1776,7 @@ void save_settings(void) exit(__LINE__); } + parent_pid = getpid(); atexit(restore_settings_atexit); close(fd); } > > Thanks, > Joey > -- BR, Muhammad Usama Anjum