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 B3C47C021A4 for ; Mon, 24 Feb 2025 21:24:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 17A2028000E; Mon, 24 Feb 2025 16:24:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 12B2028000C; Mon, 24 Feb 2025 16:24:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EE88328000E; Mon, 24 Feb 2025 16:24:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CE8E028000C for ; Mon, 24 Feb 2025 16:24:21 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6FAE91C6F42 for ; Mon, 24 Feb 2025 21:24:21 +0000 (UTC) X-FDA: 83156116722.11.376EB25 Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) by imf04.hostedemail.com (Postfix) with ESMTP id 8E2A940007 for ; Mon, 24 Feb 2025 21:24:19 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=VEneygKR; spf=pass (imf04.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.210.46 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740432259; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=h6iVakU+60mPaapVIM2KyzfWT5FktcIRYWFJxMwHmNA=; b=gfqahYBNtXVw8CYEouGz6nsLW5n/ME0eOJduPET/wZUDyFc9AU3MDOkyA3TEARsL+qqBkb Axtmwo8ZU2Zo+X+/LLo4TJQzB8PrkZ61dg8iax8s0fUiDz+NxbUuPbAgkNkEfesqjMK1gh 9T3TBBWkzSszzuz/xoqQhz3r89zNRB4= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=VEneygKR; spf=pass (imf04.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.210.46 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740432259; a=rsa-sha256; cv=none; b=oHiWxa7lK+BaHNUgtXID0odPHmqKXg1evwAAHClgdq2bAiE5wuTQn19+cLL2DAKfEUckOh ZwTgUY2OfKLawzvgsFMqfQvSPWDgfVlByJh1JHKdxzLkVPWQUz6X5w+U5I1mU7BZOggfSR 6oxiqHE2CElF8CIZ8Zh1hrrdrSqh65Y= Received: by mail-ot1-f46.google.com with SMTP id 46e09a7af769-72715788737so601984a34.1 for ; Mon, 24 Feb 2025 13:24:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740432258; x=1741037058; darn=kvack.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=h6iVakU+60mPaapVIM2KyzfWT5FktcIRYWFJxMwHmNA=; b=VEneygKRgk9wu1wmj3waGD3DzuCToRZmaMvVaUFqcjHtYxiveYJRv0hNbRrpFYiIRU 9fl1ePke+PYCJSzBaveYTju0vgAxGY+e/usErErSglyChU6Fi+1qDa98NpR6lnHchRzC pjWa2TJrEwrOyGr+ivuIhufwbIM0jsXMWfRPU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740432258; x=1741037058; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h6iVakU+60mPaapVIM2KyzfWT5FktcIRYWFJxMwHmNA=; b=DE92qnBab4QRQsn9gk+2KQmeHqYu3aP/SHLs1u5LU0nh1zrAGKHeahfyrr+obk/OC/ AMASQXT6F1o2O43NQsHXsXnp6paWkNQICR4mKSg0Y55wb/akW8RR9CPSQUOYCHdTvaTU bUpYJI3kjwxeuThIIaOO8MxFE16NrQfPdtKAfNmqskYcZdOMqjz8+2FzoVMkQj1EI0o3 HZYn97A0Kb7MZhtlzNatmKkYdk7SS7vbeD/fEgGTvkUPxr777yUtV8el6cs7Qt13FJGB 3o0wU1Ai7qX2OxlLiHxAqJlY4jmGN0FLhoslY24p46P6GsWsRYzwRniwLdg+py1BKa3a 3j9g== X-Forwarded-Encrypted: i=1; AJvYcCXkpacZ48a0gkcZzg2G/5+d6ycr6Utyg7P1QfYTX3AKfRRptlkL2YT+n1Q4qFTEC5l3gVwnpFRkng==@kvack.org X-Gm-Message-State: AOJu0YxB1KquDlS7JhC0x1XLDl3Umx2+YMoSEpuFjaBdQ53v1ERQjj5l AcHg962jrscMon4hG0Z3X3WIb3OYDg/LZvFb1dWZiLGX6TeWWtgVig/QCe7dq5lxbq7c9rWLkVl QYTHPfa9It/lAkZF9DlcQ3qyXR6d1ypk+3Bv0 X-Gm-Gg: ASbGncs25v00Hl0p8k/r3pO07g/pGM5ta9ah2VAmwBG9Zvkv8nSy1SJ0jArPddnvjYz 1/wmAoFTf7fr+xOzWTpEkzz8bYo5PQ7/J1taXln3w7D633VMGxkGjVoh986LRNhLD3iUsXjwYPf PL+7dVRFYKgSFCKvYDA4ZVImbNGe7dR098dI7b X-Google-Smtp-Source: AGHT+IGMjE2zpqlEIxhyMnwPoWpVAV8akw2/JtJyPdliPxKUHbc3QQ+N1vzjzgPsyyVVDxpLrkNwME4I1eTncXfPbtI= X-Received: by 2002:a05:6808:1313:b0:3f3:fbed:9ff6 with SMTP id 5614622812f47-3f4247be049mr4586259b6e.7.1740432258593; Mon, 24 Feb 2025 13:24:18 -0800 (PST) MIME-Version: 1.0 References: <20250224174513.3600914-1-jeffxu@google.com> <20250224174513.3600914-3-jeffxu@google.com> <6oak6ibdf7yxan3cos3brcqojgjeud4rhlii5nlrlmu7lckalk@zypcm67ac2vk> In-Reply-To: <6oak6ibdf7yxan3cos3brcqojgjeud4rhlii5nlrlmu7lckalk@zypcm67ac2vk> From: Jeff Xu Date: Mon, 24 Feb 2025 13:24:07 -0800 X-Gm-Features: AWEUYZlrQK862CQsES86S0aPmYhOQ_SB2BdR_3R20vQplfaNi9olgHcBYg1SjhE Message-ID: Subject: Re: [PATCH v6 2/7] selftests: x86: test_mremap_vdso: skip if vdso is msealed To: "Liam R. Howlett" , jeffxu@chromium.org, akpm@linux-foundation.org, keescook@chromium.org, jannh@google.com, torvalds@linux-foundation.org, vbabka@suse.cz, lorenzo.stoakes@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, thomas.weissschuh@linutronix.de, 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 8E2A940007 X-Stat-Signature: 6zabgjjt51fejsgacr1exshcu4ba7w4a X-HE-Tag: 1740432259-5292 X-HE-Meta: U2FsdGVkX18z+CmjnG8Say/BOnQLzQJM4fgMMCU9k2Ej+x2bFm6O9khEPtYkv3OS0V3dZ6eRRZ+F+5ZnEyr+5pnuoNhVFvX2uPD+vW59gBQxWhnLLBtD/z3d/PPJRIQ/YQBE/kRKjaGluVZZvy0QUnePgnoDKqqbeCq7VJH/hV6FGj6EBwe3NLZGrSeBDbtQuUOS51lNZrE6KwlAVfJCM+gZUxb4Yz7RB2Uke0dfrTYJcc3XDlpq5qY1h+OCL9x9WZEZ8NKAJMfvl/xxb62kEIWcR/HlVck841aoeuQK6nLc1/qP4mfmmpqVFNKZd2fN0c4aXLZAcjPPAEnsTUUZWmzzJe4dr1XFCxe0xfhdRFTOX8wwdiezPoj1XCY4PcuVOgw5/Kx+eWXjx0ZLJq9gEX4Gadcsq6P6QrmBxOTAYtlyoBVSS9asdBlKcgAqRa900Ushah6xRdANJcA7nBQHH7wW2htlqN9PHrZ+RiL/ywa4m9jw1jZu/qu/JJrpDdE0N4yNNCABaqM2vfeHhm0pkYg7m1HO5LLyH9TuZaVV6zBrRPCY22y/+HZtLsxsf+NiBDOTlxfdCCuIBlh1s8ZleaJPmY3IWEVZxs2giKtH7bHltFLv8xT3g54mmDe6xXckrgVPHuCpfqJFVdefasmOM1g+Hko/2v4eEAkow9HZAHqC5ZMFajIFWcNBMtRpLJBgaBzgX3GZ50Iq/I2UcoiJm+1iJfROS7nlqafM7ujy1iPOSc2LjgIShK7e7kFjx3I4+eIY89TYBtYSBlqWXqucGK4jUiFShbydndF1e3cybK5Drcr+urkzDOohFfd6vnGaXgcS+9YsD7tOx89gK8NEjlXcW/b8ZaknJvPNWp2m0WoPFsPpOLB2PL4hH3+1NnxzT2lY2U1zbWGhWvDRAaQe51yVHg0JXAxHpVyae/HSM3dbx36/C6c0DU1w8XvNkJC73MHRezfGXnPSXdsN5nL TtXlXlLT daD4gKDCywPGWrQ7DaYCYJugFaqOgv5QenlUIu9j8Yxpu075gHU3ih3/4kq/RQoiHO9DWZSOuDXSQQKoi2nFVtJq1c37G5l+cPOHe810vcDmPqLGMCw2QoIg7YYslAY0EXP8y48ci4XrOIujbT/qxZxpZJe8zgtpxfcDcpqm4IVlRhFTRMDvPjyXU+JGoUkjQ11Uve167+4d0kmj4Y0fRzXsvAIhKOdIQdMrBQgyFdqo3wEn5z1mp2/if2qxCEhVeov9xloqejgn3lmNJViDavOFFc2oQS5t2iVSvgvkEYr47CVsXchGZyofdLKpNHB0HnKX3iH8Cb2hcZRXuiOci8BTRQrEKrBC4YKuu5LbRf7tZYSA= 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 Mon, Feb 24, 2025 at 1:05=E2=80=AFPM Liam R. Howlett wrote: > > * jeffxu@chromium.org [250224 12:45]: > > From: Jeff Xu > > > > Add code to detect if the vdso is memory sealed, skip the test > > if it is. > > It also skips the test if fopen fails on smaps, but maybe that's super > rare? > If we can't access /proc/pid/smaps, that's an "environment" issue unrelated to this test, therefore skip(). > > > > Signed-off-by: Jeff Xu > > --- > > .../testing/selftests/x86/test_mremap_vdso.c | 38 +++++++++++++++++++ > > 1 file changed, 38 insertions(+) > > > > diff --git a/tools/testing/selftests/x86/test_mremap_vdso.c b/tools/tes= ting/selftests/x86/test_mremap_vdso.c > > index d53959e03593..c68077c56b22 100644 > > --- a/tools/testing/selftests/x86/test_mremap_vdso.c > > +++ b/tools/testing/selftests/x86/test_mremap_vdso.c > > @@ -14,6 +14,7 @@ > > #include > > #include > > #include > > +#include > > > > #include > > #include > > @@ -55,13 +56,50 @@ static int try_to_remap(void *vdso_addr, unsigned l= ong 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; > > + } > > + } > > + > > + return false; > > +} > > + > > int main(int argc, char **argv, char **envp) > > { > > pid_t child; > > + FILE *maps; > > > > ksft_print_header(); > > ksft_set_plan(1); > > > > + maps =3D fopen("/proc/self/smaps", "r"); > > + if (!maps) { > > + ksft_test_result_skip("Could not open /proc/self/smaps\n"= ); > > fork() below prints errno, should this also print errno? > Sure. > > + return 0; > > I guess the logic here is that you might fail later because it's sealed > but you don't know? Is this rare enough not to matter? > yes. We should check the "sl" flag of vdso before continuing, or the results will be unpredictable. Android currently includes this selftest. In addition, you or someone commented that the selftest framework can randomly turn on kernel config and run selftest, so it is necessary to add this check to skip. > > + } > > + > > + if (vdso_sealed(maps)) { > > + ksft_test_result_skip("vdso is sealed\n"); > > + return 0; > > + } > > + > > This file also has an #ifdef __i386__ later, Using it here would > prevent unnecessary scanning of the maps file. Probably not a big deal? > > Do you need to close the maps file? > OK, I will add close for good coding practice. Thanks -Jeff