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 108C8C021A4 for ; Thu, 13 Feb 2025 19:28:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4F11D280002; Thu, 13 Feb 2025 14:28:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 47A2A280001; Thu, 13 Feb 2025 14:28:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2F3AD280002; Thu, 13 Feb 2025 14:28:57 -0500 (EST) 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 0E2DA280001 for ; Thu, 13 Feb 2025 14:28:57 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 27E261414FC for ; Thu, 13 Feb 2025 19:28:56 +0000 (UTC) X-FDA: 83115909072.06.1048531 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf19.hostedemail.com (Postfix) with ESMTP id 77F521A0008 for ; Thu, 13 Feb 2025 19:28:54 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=DTgs3Rm+; spf=pass (imf19.hostedemail.com: domain of kees@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=kees@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739474934; 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=yO8NnW7sFxYNtBQH+vCJ4veRfeTxv8T8liUUs2KcD+0=; b=df0dTCjQjCtUipo7ElVW/+cCPgHItO9TvwDgIi/gZsKCXne8wot3HORAxJtKDr95Uby6fU fFAwC1xGtesfnsgWbg0s4mDLzfVu6cbtdhXzvohhmJl/LUIluE8GRQYEDpx/gdcrqk10GM ttQ0qu1VXbXFmj90Uqacpz5oRVUfH/c= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=DTgs3Rm+; spf=pass (imf19.hostedemail.com: domain of kees@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=kees@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739474934; a=rsa-sha256; cv=none; b=nhJhYXAEW21lnXTSV0mFyjoOKGNpNOhzn/kiRzA5gxsAbWU8vOBsa2+8cFTsDN9gJXS46P Y2W1Mm7EQWtgPqyGRdL0t5LD6T5RB7zLqLkn0H0QR8T2SlXIOd5FzLyDsI2jZhJ/ddCZ/A rp1XJlAb09wVz1PegMWjSOmIXneO5uU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id F39B3A4295A; Thu, 13 Feb 2025 19:27:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB96AC4CED1; Thu, 13 Feb 2025 19:28:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1739474933; bh=mibcqrVU2uUXKuhqlBMEkG07gDq9k41HSPc+WHje23Q=; h=Date:From:To:CC:Subject:In-Reply-To:References:From; b=DTgs3Rm+nbOxlgfoiaTiQqBOE0wEmIf7hztGsSl1tGCzEJZyM/QgMjEuyb4JkqEQr XSK5P9At+tJeEYTKaJ1ovatF7Tqa+U/dZxAQRtpd8UuFqwAEAnQqwC7HFYx3jFiVmd /4vzpJ3/MJH1PlN0mzOoczIHvEfCYgsRC3aqLOsVdaAebBGsSqFuEy7nDSQmrkRqFo 8RArS1fDJCdW1y1F2ELajwZ5oevMr6QdDZes2tT5BHOsg1FYf2/MN9eZOBhQj7YIqn mXScvbUF9GFt10DX05nyRFZexGzuSdYS3iLjYm4m+AirJb0c/aboS3/ZkfNXz4kZNX D5u4JComVXO4g== Date: Thu, 13 Feb 2025 11:28:50 -0800 From: Kees Cook To: Jeff Xu , =?ISO-8859-1?Q?Thomas_Wei=DFschuh?= CC: akpm@linux-foundation.org, keescook@chromium.org, jannh@google.com, torvalds@linux-foundation.org, vbabka@suse.cz, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, adhemerval.zanella@linaro.org, oleg@redhat.com, avagin@gmail.com, benjamin@sipsolutions.net, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org, linux-mm@kvack.org, jorgelo@chromium.org, sroettger@google.com, hch@lst.de, ojeda@kernel.org, adobriyan@gmail.com, johannes@sipsolutions.net, pedro.falcato@gmail.com, hca@linux.ibm.com, willy@infradead.org, anna-maria@linutronix.de, mark.rutland@arm.com, linus.walleij@linaro.org, Jason@zx2c4.com, deller@gmx.de, rdunlap@infradead.org, davem@davemloft.net, peterx@redhat.com, f.fainelli@gmail.com, gerg@kernel.org, dave.hansen@linux.intel.com, mingo@kernel.org, ardb@kernel.org, mhocko@suse.com, 42.hyeyoo@gmail.com, peterz@infradead.org, ardb@google.com, enh@google.com, rientjes@google.com, groeck@chromium.org, mpe@ellerman.id.au, aleksandr.mikhalitsyn@canonical.com, mike.rapoport@gmail.com Subject: =?US-ASCII?Q?Re=3A_=5BRFC_PATCH_v5_2/7=5D_selftests=3A_x86=3A_t?= =?US-ASCII?Q?est=5Fmremap=5Fvdso=3A_skip_if_vdso_is_msealed?= User-Agent: K-9 Mail for Android In-Reply-To: References: <20250212032155.1276806-1-jeffxu@google.com> <20250212032155.1276806-3-jeffxu@google.com> <20250212135000-861e6353-6e0a-43c3-9b28-649ae4dfc607@linutronix.de> Message-ID: <35C0FD0B-0483-4663-AD60-701AB8D9247A@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: 3c43z16guuqmm8i9eome6n8q9nktaref X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 77F521A0008 X-HE-Tag: 1739474934-788580 X-HE-Meta: U2FsdGVkX1/5wIe6GpI+Ty119DFK0bRQ97/dvQQUKN3rxBfPZYg9TljZCK+wvvXHaHhzQTu/IhySpoSmGjY7pKNGhcHtnOw0F9gy7rWa8syWWHZ5xEFeZl3ozR+l9b77pYTQQYNqWV+SZe4DxOrTgJEVbpXLpCtgC5h/6iPuGd94MqRdRPTIGGQ2U3M51X8byDmb473jQdll65E44XDLZEH+5de5U1TxFNmiD0rPkGHd90Yjx8vwP3r5okDv65jw+2c8Pl48f0WTws+MhYrPhMjyJwh75tBaig9FLWT4v4p46u7SRymWoC3cajidxVnUJeVYQMMBo1l/gSoeFKyLyZyUlG180mj/VqrcNgLcjgw7PLcsJuQKb1YQZ+V8YkcV+o55+mQqEiUUYi1+cOP2GJ7BsWEl4hWDRtP1BgoDxX9eonMC0fReesYOaEGNEnC49JPFs4AcLazpMZxqmc8TO3m/h/erOpeqf9JmEnnOEe8ih02cqF8klv4NLeBjFe8rsYBaWZJ2MRqZU04grR6k45u/0n5xwgG4nuekuqG597VcQkFT9u7sROMlOYGkeWea8Ze8P6UrTsoiFX2eQsq4XZik2Hmm3LE0yLIYo0WnmIVj/GbSaaEwD+X1iMuSv1RRF2UE0cD4VijVyyl6QpV5x43Q6cO80Y1bwrb3GTRODJ4SsFV8KC18xvmWuKX2oTr5+BI8y8dx1wcJ4f6RqrYeE2Ue53gH4q01hMe96axYglDT4aEVc28G8ivckewhIJtPHrnlSAkTsJQddeNimOV8pDE/oTz3VEVTCnjTjTPblHsDU7yTaekVMM4DQXJT7eeUMEt6D+QjQ97tTenR1U+WZe8p5hVOF1bkYjx2mcqLAEZwnNdjGeJoSEQQEXjOcv1AnMC8Sevhz10BUFGXCzNKYHHLi8/yzeYWTfbwR1xbmNGEQDyIrqipuJeFaEf3BwGKKgoSZ1IoPG+JOLoICn1 +Dtoz+Yh 25tDJuSO5wFBQcVUFqAy1sFUnSpH6PnLhYxqXGQl4AY+1umcvDuEOo3wIO8vb1z02KI+vTCu5w8zmBAIzdUct3LH4b/JoLAPlCEFHzgAJKajWY1yisVl1SHI6CBHNbf3G/RC8zOmV2s3bVpxzlhbiSINN6Ln2BcOuy+CE6RaqyD/yaV53DmIxvzjv3645KDhuP+HTInSJRK0cwwxOqpAq9pyoOl7zQJKcOZOwVovZudE3/QDapakEwSXuDdkqW1CfoOf+xbcqx7glZDd/FinxAXE/lsXm1QctfOgao7Yx1lF3ATAnQqxHG35vWOuFiyjcOQ0Ttz7vFEMCxWxUVcmDtY3guVScj46PaAh2ycmDiQXVPIWTJVspVd+mqHc8vhk9QqPFbBESDrulEDN3gqGblsWQSWFexfqJd1lQudl5ru0lnU4aGaSaSoO55BzOxDkiRWy9f87YINL3mJg= 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 February 13, 2025 6:14:00 AM PST, Jeff Xu wrote= : >On Wed, Feb 12, 2025 at 5:04=E2=80=AFAM Thomas Wei=C3=9Fschuh > wrote: >> >> On Wed, Feb 12, 2025 at 03:21:50AM +0000, jeffxu@chromium=2Eorg wrote: >> > From: Jeff Xu >> > >> > Add code to detect if the vdso is memory sealed, skip the test >> > if it is=2E >> > >> > Signed-off-by: Jeff Xu >> > --- >> > =2E=2E=2E/testing/selftests/x86/test_mremap_vdso=2Ec | 38 +++++++++= ++++++++++ >> > 1 file changed, 38 insertions(+) >> > >> > diff --git a/tools/testing/selftests/x86/test_mremap_vdso=2Ec b/tools= /testing/selftests/x86/test_mremap_vdso=2Ec >> > index d53959e03593=2E=2Ec68077c56b22 100644 >> > --- a/tools/testing/selftests/x86/test_mremap_vdso=2Ec >> > +++ b/tools/testing/selftests/x86/test_mremap_vdso=2Ec >> > @@ -14,6 +14,7 @@ >> > #include >> > #include >> > #include >> > +#include >> > >> > #include >> > #include >> > @@ -55,13 +56,50 @@ static int try_to_remap(void *vdso_addr, unsigned= long size) >> > >> > } >> > >> > +#define VDSO_NAME "[vdso]" >> > +#define VMFLAGS "VmFlags:" >> > +#define MSEAL_FLAGS "sl" >> > +#define MAX_LINE_LEN 512 >> > + >> > +bool vdso_sealed(FILE *maps) >> > +{ >> > + char line[MAX_LINE_LEN]; >> > + bool has_vdso =3D false; >> > + >> > + while (fgets(line, sizeof(line), maps)) { >> > + if (strstr(line, VDSO_NAME)) >> > + has_vdso =3D true; >> > + >> > + if (has_vdso && !strncmp(line, VMFLAGS, strlen(VMFLAGS)= )) { >> > + if (strstr(line, MSEAL_FLAGS)) >> > + return true; >> > + >> > + return false; >> >> This only tests that any mapping after the vdso is sealed=2E > >The code above begins by searching for the "[vdso]" string, then looks >for the first line that starts with "VmFlags:", and looks for the "sl" >substring within that line=2E We're assuming the format of smaps won't >change from release to release=2E Oh, I missed this in my reviews: nothing _resets_ has_vdso to false, so if= any other mapping follows vdso that happens to be sealed, this will return= true=2E=2E=2E > >> There is a real parser for /proc/self/smaps in >> tools/testing/selftests/mm/vm_util=2E[ch], see check_vmflag_io()=2E >> >This test is in selftest/x86, which makes it hard to include the >vm_util from selftest/mm, if that's what you're asking=2E Hm, we have done these kinds of inter-tests dependencies before=2E (E=2Eg= =2E seccomp includes stuff from the clone tests=2E) I think it should be po= ssible if it can just be a header include=2E Linking across tests would be = more frustrating=2E -Kees --=20 Kees Cook