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 D5783C021A0 for ; Fri, 14 Feb 2025 02:52:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B7B56B0088; Thu, 13 Feb 2025 21:52:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 267F46B0089; Thu, 13 Feb 2025 21:52:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 130AF6B008A; Thu, 13 Feb 2025 21:52:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id EA7FD6B0088 for ; Thu, 13 Feb 2025 21:52:55 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 8D187141B2C for ; Fri, 14 Feb 2025 02:52:55 +0000 (UTC) X-FDA: 83117027910.14.6E55DD5 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf18.hostedemail.com (Postfix) with ESMTP id DC75B1C0004 for ; Fri, 14 Feb 2025 02:52:53 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=cKt+sg8s; spf=pass (imf18.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=1739501574; 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=TnnkZxa7I9VlJcQBfYNvQzgD/puv0mHObwEX/ut1/uE=; b=dUQAdmlUNwwmn/LaxAPFxmrxh26kfcLME2ZgpHjqaW/7W9USxt0pC10GCw7YixMlKRSjKZ qBsGHOKL45h+8YXPHdWgLPTN6XC5uAeXjCMHm20/yTVwe54hIVXAf+Ds4r6eCdegcJdv6g 3Wmi3+mcbLrClY+aFqInt5Gs0ee/fqs= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=cKt+sg8s; spf=pass (imf18.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=1739501574; a=rsa-sha256; cv=none; b=q7XU5vs0pQ5oPS6BT/oGlHWVtGTVq3kJqnNqumo22K8iysQLnUbPJoOcS1CqgclBxhoHF+ iBlNvepN8/xoqcW4zN8wsGXt0Nnqy1VApFTFcQQ7hMHGuZ6szYK0nl9uuk4D+4EjzzlMdB UI52adOyABm4GwP7jBAtpoIgxhGKvk8= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 7C1CFA42B26; Fri, 14 Feb 2025 02:51:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D6FAC4CEE5; Fri, 14 Feb 2025 02:52:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1739501572; bh=iQrR0w+uywPbCMMcShpDdSWaDs875MPZG+kpvEZmr+I=; h=Date:From:To:CC:Subject:In-Reply-To:References:From; b=cKt+sg8sqg+2JOJ//ExePR0T/GrWSCdhTOKgePpfQ5Sg13FdXi59nWGQULD93DlOl D6NdC+tizRciB8cFIdCRsSD3U3HsA3PJj2HX6RLb7Mh3ND1oFuXZsDJMfMBye//uxW TkuLaXjk8vT4TSKYuzGEuFOBkR+24uIC1mMFON0X1SkLuEnpmt2TDWnq8xshxYjQr1 JDcNHo9iAFKQQyTN/N+vVnLeoX01bDSsx4+xTyfwPE3X2yjXlighxqJ/5l/lr65yYL DMXLGUdaPW9sXvkypTxHJR1hRyDUKsN+DmD1ocDky+/5qARWlMbai5Z4zkcv/0QC/m JcPJzJTYRabEw== Date: Thu, 13 Feb 2025 18:52:51 -0800 From: Kees Cook To: Jeff Xu CC: =?ISO-8859-1?Q?Thomas_Wei=DFschuh?= , 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> <35C0FD0B-0483-4663-AD60-701AB8D9247A@kernel.org> Message-ID: <462A068C-489E-400D-9E82-F54F46E77DF3@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: ybb5i7z81ps59q1uo3tgr59emmkk5b18 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: DC75B1C0004 X-HE-Tag: 1739501573-63063 X-HE-Meta: U2FsdGVkX1+DdTNWE+UlSqRTWTLwfHw8JpnLVoTngxOnNISVhzmQERayKJ0fDzGo40IOE+h9j82dVs5Ix9WLNM0VLrfy2yUydrkJay8nknqwmE1gURzbt43xqsAcFKRWE5iMpPvC/eExMg2PXpoIinMcbEKQGURgHAxcyZjbig/i3RczW+jdzpuAwDjfY4CkNygCrTf6R3vvkJhUXq5Ew+Er3/K4Y090bMQvlLFvDoCIaLfbVRjRj+7n73rdrf+iCp0+uotQNOYfNbE54D1EmrfrdI12SzZ8qyXFHnX6Dh2BJ3CSJTx2/8wI0VYlCij83Rjinpol28KaBfV61VtjaBO52ajL03DvXuv15jWU7xdvc7y+8xrfEh3JX9jf4ZhmF5QtiFHEHnTG0X7JVT+icClRzdXgW6ov2FprgwITMQb07FQP+zcOnkHLn/sGD+hrjilZCW2cg7jQ7Ib4W2TxWTdEDFbpm3HPg952+zzdZRO9R6yjh8LF+IANoCZhEQYo8DPTcs8PF38IB2roAVSSvtHJGn2i0jqzbYSBUsO3leuEF19LoyOoDvppkA5GnPYMaCBa7vEIW+t38HJL6yLWguYdq2LiDhr71nus6458DBQ07n5Bv4sf85Kp7E7wk12P+PsokQFwU3m13S83VAHMDlTLyPkpzJnkkH9JquorMKPwsO00TStWfrdT9sbWAKnfj4w2cH1hKW+bomzJegPMU7lCXZ7ag/R+iX2cBlz31hyn3XmcES41Mxr2ghIkA345XObR3cNV/9Cdz3z9qR1ERU8V7DWOiCD63qT5zoaqlQmk3cJBz7TWjhB/1DVnijCwE+tfEk4LdNrYY5O41z/FuWeKMRLca6PKGBLjz4Xlm3sjaJFwkWiTDNkgycvGp8mMNUaL01TDGDI6Y5oJPEwnLRECyTfkxZ2fDm3DQZZoGUPhA2uP3kTuSHoZjh8BC4f7p4nnG/flyWZDLzOJoAn QUNpxC+0 Aq7tl9UPqiJQnX1MR2JqU7G1GRnXgBUF6zCinQJ+aIgPUpSq24yHtCFt/uhw8rxojkAG6bNemrHsKhLJIzAUK0TEbkfigUZdJLv6yVLufUt20uvcBoAHELuoriFpKCaE7ejF6ZYHjfVH01fABkb/HZtkgxiNp2ZjIhI9bP14Nq4cuAmPSl9EaX4RlmhxYfChgpsFbv3bwfmAs4SDg7/GJf9naTi/CVCZawV3TSwD7wDy03SaqSZcbuWuRNPY8o5Z4qWY71Z87u/RB+AmluS+lA5lyefJgmx2K2H85/MZrdxCZST8nrrtmN2HYF2S7qJydU2n9PCEuIsk5xbTMfGgciQ1X/Z582WA50bJUiJ4q68aNNsGlHbZRVU6+pJERqjvQ61omZo20yMfABRroHbPa5i3llqNv+r7PdC/53rR8mwM6GOyXe+bmF3dxxxgy+0RCPof7 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 2:20:01 PM PST, Jeff Xu wrote= : >On Thu, Feb 13, 2025 at 11:28=E2=80=AFAM Kees Cook wr= ote: >> >> >> >> On February 13, 2025 6:14:00 AM PST, Jeff Xu wr= ote: >> >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 wrot= e: >> >> > 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/to= ols/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, unsig= ned 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(VMFLA= GS))) { >> >> > + 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 ret= urn true=2E=2E=2E >> >It won't return the next mapping's sealing flag=2E >After finding the "[vdso]", if the next line that contains VMFLAGS >doesn't have the "sl" flag, the function returns false immediately=2E Oh! Agh, yes=2E You are right, this is all fine=2E >I can switch to vm_util, I will need to add a new parsing function in >vm_util, the existing __get_smap_entry() only searches for vm's >starting address, not name=2E Unless someone feels strongly about this, my instinct is to avoid the high= er complexity of a cross-test thing=2E -Kees --=20 Kees Cook