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 AC9CEC36005 for ; Mon, 28 Apr 2025 10:23:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC50E6B00B3; Mon, 28 Apr 2025 06:23:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D71976B00B4; Mon, 28 Apr 2025 06:23:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C14CA6B00B5; Mon, 28 Apr 2025 06:23:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A27146B00B3 for ; Mon, 28 Apr 2025 06:23:40 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id CBD85141057 for ; Mon, 28 Apr 2025 10:23:40 +0000 (UTC) X-FDA: 83383066200.03.BE49731 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf01.hostedemail.com (Postfix) with ESMTP id 3505240008 for ; Mon, 28 Apr 2025 10:23:38 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf01.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745835819; 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; bh=s/G9l6B31p3wVnyDp6RSWqusv2ubSJnQWS7U9SiExa4=; b=H/PW6C/Lry2TwrRquSBgWI32OBBj41qMEg9xYWwFVewIzkrURhysQRc2gMx8g//HufLex6 hdGK6E3G/al2PK/ym10IwQbZ+tLKVo8JoWY9WKO3KjTxQzWd5PwAHQ4d5L1iZf6Q6z+hph +DSej0E9RO4Thc15VHN3mznOh0KTQLk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745835819; a=rsa-sha256; cv=none; b=w1lhO8RF9/8+tv1DgaWrCBl9aEvNnUU7sLNm3DdpnS4tD5elKGIOfrb7xSFxk+3C4E5hZj jGtnZupjr35r87YSLs5V53N8sldY1XwlHKBGb9gzoj3wzLllj9zvkqKEjChzW9jWapsSKc Cb53M8uRyt9A8gB+GwjnRh+wGeizGMA= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf01.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9D1991515; Mon, 28 Apr 2025 03:23:31 -0700 (PDT) Received: from [10.57.90.155] (unknown [10.57.90.155]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1C9873F66E; Mon, 28 Apr 2025 03:23:36 -0700 (PDT) Message-ID: <9f1cd31f-8e85-4ae6-9fa5-85db7a96d2fe@arm.com> Date: Mon, 28 Apr 2025 11:23:35 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] tools/testing/selftests: fix guard region test tmpfs assumption Content-Language: en-GB To: Lorenzo Stoakes , Andrew Morton Cc: "Liam R . Howlett" , Vlastimil Babka , Suren Baghdasaryan , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250425162436.564002-1-lorenzo.stoakes@oracle.com> From: Ryan Roberts In-Reply-To: <20250425162436.564002-1-lorenzo.stoakes@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 3505240008 X-Rspam-User: X-Stat-Signature: db44w4x8ctjnk4jz1s58x1juj8h41xtq X-HE-Tag: 1745835818-770858 X-HE-Meta: U2FsdGVkX18xre4r59XonrcxccrNyjQq2km7h+orWEO99UG8JeuXPwXuKsmzpP4BbhpStjehiTdPsSBD3WSLJ6NhfbIoJfdRI/MUPAEdTOdMX7288bNunJDM94uHj5gfOWEh6G/PIfOHLKc8HukMX+hKOAvy2Tqe/DpaR5n8lk2Wx7shfmenIzzkupl3dT6YwgEjrs1nUfU6l1Yi0E+ZfejbyH4fpuTepKAGaXeHvhAQnoastrX98z0PYFMIfCH/D1EONlCVfibItCv+TMjC01JMBOG4yYT0WoTmidcQvpHJXudnAJpGjHpFVT4Eu/5mB/2NiRv1eBeopREOEW2JgV3FLr8kYhPFoEFj1DXSdv8Klzd0dxwTafs6EsYTRSnyIMoAZ5JjrXF3oGohzy8u1bTa3ldLOAq1tzrkYwQWtwCX2WDCywspQlnL4snRWyyU6pQ/fV1mwnp5w+qyz5WRSu9ikOW+yxQIVhXBip8GY3W3GUv4g+yeiuU3YeXS4gEr4/4n809mnvz2Lim869erS2D3jg7WOGbrT7h1CyXrHXT98SgVOHqkfFmg0ExHBTJ6HDe22ibgVM1pCLcK5fVivU4KDI6zOYmXDdVE4lG6JB24QaGBi1rKvWracBdhByrU+q/DKAvGLLHopWmj9Dqn4Pv36S/MQiyk8iputw9ikRy7nHr2lLfAMCRTEGXlzM2YNKsNm/qqWpaYFdNZQ7Wt0Yhp5CB40/O8SEv99r0tT4ttON6k0uyzYnLCcwnQEv8pPENZPOLIAJudpvRdltnR5YPOTM2fPrQfnoqMo5nsUa0u8NV4Bf491RUqiiqZ/KSRrL1AoPoNBazsXRgRybB0MA== 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 25/04/2025 17:24, Lorenzo Stoakes wrote: > The current implementation of the guard region tests assume that /tmp is > mounted as tmpfs, that is shmem. > > This isn't always the case, and at least one instance of a spurious test > failure has been reported as a result. > > This assumption is unsafe, rushed and silly - and easily remedied by simply > using memfd, so do so. > > We also have to fixup the readonly_file test to explicitly only be > applicable to file-backed cases. > > Reported-by: Ryan Roberts > Closes: https://lore.kernel.org/linux-mm/a2d2766b-0ab4-437b-951a-8595a7506fe9@arm.com/ > Signed-off-by: Lorenzo Stoakes Reviewed-by: Ryan Roberts > --- > tools/testing/selftests/mm/guard-regions.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/tools/testing/selftests/mm/guard-regions.c b/tools/testing/selftests/mm/guard-regions.c > index c39dd26c47a3..0cd9d236649d 100644 > --- a/tools/testing/selftests/mm/guard-regions.c > +++ b/tools/testing/selftests/mm/guard-regions.c > @@ -272,12 +272,16 @@ FIXTURE_SETUP(guard_regions) > self->page_size = (unsigned long)sysconf(_SC_PAGESIZE); > setup_sighandler(); > > - if (variant->backing == ANON_BACKED) > + switch (variant->backing) { > + case ANON_BACKED: > return; > - > - self->fd = open_file( > - variant->backing == SHMEM_BACKED ? "/tmp/" : "", > - self->path); > + case LOCAL_FILE_BACKED: > + self->fd = open_file("", self->path); > + break; > + case SHMEM_BACKED: > + self->fd = memfd_create(self->path, 0); > + break; > + } > > /* We truncate file to at least 100 pages, tests can modify as needed. */ > ASSERT_EQ(ftruncate(self->fd, 100 * self->page_size), 0); > @@ -1697,7 +1701,7 @@ TEST_F(guard_regions, readonly_file) > char *ptr; > int i; > > - if (variant->backing == ANON_BACKED) > + if (variant->backing != LOCAL_FILE_BACKED) > SKIP(return, "Read-only test specific to file-backed"); > > /* Map shared so we can populate with pattern, populate it, unmap. */