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 231D6C28B2E for ; Tue, 11 Mar 2025 13:00:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B943280005; Tue, 11 Mar 2025 09:00:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 26848280004; Tue, 11 Mar 2025 09:00:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 13188280005; Tue, 11 Mar 2025 09:00:42 -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 E8B74280004 for ; Tue, 11 Mar 2025 09:00:41 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id E07EDBA865 for ; Tue, 11 Mar 2025 13:00:41 +0000 (UTC) X-FDA: 83209279482.17.F228B61 Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by imf18.hostedemail.com (Postfix) with ESMTP id 3CE341C000E for ; Tue, 11 Mar 2025 13:00:36 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Q0Im5zud; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf18.hostedemail.com: domain of jackmanb@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=jackmanb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741698037; a=rsa-sha256; cv=none; b=Rbz0t1koK6ABUCDy/wUlwrRo766yqKbWEzwV3vHN7jVKFGrXbjmEQgRrQWDv88XZdb+9VA XtqR9xYBbVSDiVgR8FzYCDNwprxPPBCNtl0xeAY6fgh5GXejbWnevxSV2QDZCwFB3a/M3g 1Hhf08S3mBGfncC3PzzFjKizWXwXp7w= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Q0Im5zud; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf18.hostedemail.com: domain of jackmanb@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=jackmanb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741698037; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=4VHQhu5V4TeRvh0NUCJQSxM18BZB2qvN8uXFXJh7n+Y=; b=48E4LUGsHxG9ErV2mhKeymT9a9ggESXqdKZ6nRv/XMkx2+nXkWWLHJ4G/3x5dVDIqk7uBP onAM/4REn4cgUYwSa/YbJm5wzlyWWc5YxNq5Md1p85HNi7OTiJlKYX26V7dnG/fiQ3gNef fz0ywM/WCdnAe663YyTv/tsNfqQUEzk= Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-476693c2cc2so247131cf.0 for ; Tue, 11 Mar 2025 06:00:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741698036; x=1742302836; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4VHQhu5V4TeRvh0NUCJQSxM18BZB2qvN8uXFXJh7n+Y=; b=Q0Im5zud46d7Q8gX8BnPN4++wuiNIEWx7hCCn5w+qCG+wY9yWN8A5Y+GLV1VQQj1Tw wqJxNu3y8wu3RHTafKGz7ub50Sn2xpX8o46okpjJpsQgIi9pyrWnJ9gTRvqsUKVFBsLM X1UoAthjvnPc83wxcDRZAu5tQWh9c7HlJpenNDuIL/wswcyEAU5G3YvUVxaLR/oS3nM8 pS7z8BCcanMKH5f+mt1X+HYuAHWrvQgC0rvoQ2LmuBq3DNYcgbI+ksIC95InKYSwldMk NUjE38ERiPWQHPZnxlLh6Dr49+e8k4TXXplSXdXZGXS3SMRkPjhKzjhSaG7UeWWRk9Ss 6hJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741698036; x=1742302836; h=cc: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=4VHQhu5V4TeRvh0NUCJQSxM18BZB2qvN8uXFXJh7n+Y=; b=nLbXMIplUqu4EGzxI7wVesKiRUtqFChLsS4Ak2P/c4b3YbR5gjVWVYno/VpKQlc0Ph LEAuKyXVeuFZaLrlYXVGk4zaK/y0hLBxWtpnfXBOG7klZmmHJ+mczUEmE+aIbTJyv2K3 M0tniKGfNUE9ITKoV57A4PfdWUb4b5lT2HD9nd3abYiwyKojNoKzYh88IJ7W5ZP9Hv7f hAjDCHCGq4TvzQoWCAplETvOPBtcxqxgzccwbi2srLXpCPym5MutZFnyqGoJccTf6Kh/ EDlUZxh8Q80PwErNN226bPgH9SyI/lgwk2diz7wjJZDP7TTZ2MXimDW2PZ5+8kn9WfGq J66A== X-Forwarded-Encrypted: i=1; AJvYcCX1YEB0R87tXCiG0yFL3p0Vfz4A5jr5dLeCsOeqkdj/O4vstompaJaQUI0qP7dAFZ+PK5NBsjI0Iw==@kvack.org X-Gm-Message-State: AOJu0YwmV1xbZ32q/Qgw8mR6LwVDXhPbx3mhuCtSGoKm6/ntiaiNC6gU h+F2WjV4EkU1VhXafzeiWQi8nZvpHvOWDY3/4KCvTd4hZcenb/APUgy3X7Y2tuzHvjSCFyPo3gk +6lMBeT/3g9JfI6HaL+rZFDbrg+9pzFiKV7WF X-Gm-Gg: ASbGncvoT4V8rEa1CJB8np897AUMpjxU3rsmx6b4PwJm/85Vf0bLbyhzZJ3KA6827Pw MVXfVo3rlxoxxX+cHomKSxK6gKR/d0hAeeFshOkF2aHPnDAMs3GDTyynH5YbqRzubtsanUa1ZZH 6yDD5EvZJ3ErBrDfhruxAkpnPLCQQ4rQjdgsiheTl0P3Gw4jvNEMr976KU X-Google-Smtp-Source: AGHT+IHjbvoyGhYxZy+5DnhAXj+weZD+odUEYuzByCq9hSqciyG94OAwXLnaCEx0Sp1sFSDatHVUQxyRQdN8oDCn60M= X-Received: by 2002:a05:622a:53cd:b0:474:b44f:bb88 with SMTP id d75a77b69052e-47668af5d7cmr11461811cf.27.1741698035462; Tue, 11 Mar 2025 06:00:35 -0700 (PDT) MIME-Version: 1.0 References: <20250228-mm-selftests-v3-0-958e3b6f0203@google.com> <20250228-mm-selftests-v3-8-958e3b6f0203@google.com> <08023d47-dcf4-4efb-bf13-5aef3c6dca14@redhat.com> <16023193-6cb4-46d1-91c4-43342e7e6d30@redhat.com> In-Reply-To: <16023193-6cb4-46d1-91c4-43342e7e6d30@redhat.com> From: Brendan Jackman Date: Tue, 11 Mar 2025 14:00:24 +0100 X-Gm-Features: AQ5f1JqAOw6spu6AMy4R-fMyLCvyaVsj-m1jqaL8Pde_lEnMc-b72Se9VM50FPs Message-ID: Subject: Re: [PATCH v3 08/10] selftests/mm: Skip gup_longerm tests on weird filesystems To: David Hildenbrand Cc: Lorenzo Stoakes , Andrew Morton , Shuah Khan , Dev Jain , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 3CE341C000E X-Rspamd-Server: rspam11 X-Stat-Signature: qs4ichmswwxm5m66yyb9g8ztuwygpzg1 X-Rspam-User: X-HE-Tag: 1741698036-591807 X-HE-Meta: U2FsdGVkX1+K3ZlsWY0D6lP5FeeCVEJWm2tCP+EPOLWaWpl+XCQgSmVtjyRcI6r7nwoM4dSinGmVU4QPhC+w0QyPL3045hGMnrhV1Sgx16pwc5Hym62nnHDkIdZZ+Ysflf1uMOY+vqn/gXW+EiGA81dlRw72+KKz0j8CoEZYrDLBnOJnGu3oYBiM6bbQYgSfiN51vomp08cYGRwLPPEObeI8fvRE8rEfNCc1pzb+aUbCJP+c2+wtpCRNBih0Tx47RSvkGVB5ZUrr3dXodJV3V2G+sYMWSzsSmWsRDv49yA2Sk7O9+FK4FANkjvQevnek0HzsFwC8Zal6erk+zi1RI+cMHu54sX/K1WgI/U3Cp3m4yqRvpukbm12yK7jR/WsdniJhV0iPVmWLINc8v3HL7tK03UQIi67U+5CGYFVDQMh1kta0nZ5Cz7/CC2P4JStfsyYZ6+alOHf8FfiJFXkV4K4p/uhAImScz9tsLmX0pnoMeKQ5mgzmz+RiqeM5j4OCz1xFVrTgtPddy8hMaFjd+qU13utdIJA12zGOGLW9mnYX8vwTOpcnWUgXp4Bejf8aZ35u1UkKp9HOp3fhn4RvwpsQSeF/ipe66jqSsM8Pe+xJknUKSpQOw9MFL0+jImyuw+aCSNb2lH23Ri0zGnKtt4Tr5CnNwRi+hutGb7adE/Oyr0saiZGIu8M/7ijLrC8hCqAmWcq7dyo+PczVsRyVKHBsXMiO+uEcf7CLFXFyb+PR4//3j8/8QtkqxO11tQpMPosTMIJoFOM0trWb2ToAELqC44tkuffjpdyw4TdyAOc/c7Ij74T3lbqnoz87rOgtZ9gOvTrYSyQPRVCssq1Nj99HV/UjylfB8GncgSkGgko8xqe1YpOmkX+pI0sdJBxuIaj/69vvPfDSHMo0g+2jhe+T2C69ktSHz0zMWonvDGxn1iCtZt7MxAQJbSoe6dn+mfNtTb7LjsW0mxKidrh 4QAbHL+E q53DE3tJ+zBw4eN4kxuauf1GT9tsh6WPW39m+r7twcpPWAYjElrf+ih0tcGEsJ9HT1gtTK09BlzB+9WumOsg+chCIoRb3RS3ES0pHmRrZwfEVCXmq7LM9EEqDQRNoc6CExXusMaZhtGLhGMLclJKhjONv75E4qRjxEr6mWpUIZszpKmjEgCGKG6NfXce3/DKxmk+tH3sgsorGpEuNT9F+dmqKg+azj5KxWBDjwTUPR6I7QVYVlydQec9WmGDuO92ssdrDo8Lz9IpfgNn9WgU9eHrisifLxmTS1qd2WFC1mjDWWWlie19qT5f2Xw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.026709, 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 Thu, 6 Mar 2025 at 15:40, David Hildenbrand wrote: > Yes, just skip 9pfs early, and mention in the commit message that 9pfs > has a history of being probematic with "use-after-unlink", maybe > mentioning the discussion I linked above. > > Maybe something like this would work? > > diff --git a/tools/testing/selftests/mm/gup_longterm.c b/tools/testing/selftests/mm/gup_longterm.c > index 9423ad439a614..349e40d3979f2 100644 > --- a/tools/testing/selftests/mm/gup_longterm.c > +++ b/tools/testing/selftests/mm/gup_longterm.c > @@ -47,6 +47,16 @@ static __fsword_t get_fs_type(int fd) > return ret ? 0 : fs.f_type;q > } > > +static bool fs_is_problematic(__fsword_t fs_type) > +{ > + switch (fs_type) { > + case V9FS_MAGIC: > + return false; > + default: > + return true; > + } > +} Ugh, some fun discoveries. 1. fstatfs() seems to have the same bug as ftruncate() i.e. it doesn't work on unlinked files on 9pfs. This can be worked around by calling it on the parent directory, but... 2. 9pfs seems to pass the f_type through from the host. So you can't detect it this way anyway. [3. I guess overlayfs & friends would also be an issue here although that doesn't affect my usecase.] Anyway, I think we would have to scrape /proc/mounts to do this :( I think the proper way to deal with this is something like what I've described here[0]. I.e. have a central facility as part of kselftest to detect relevant characteristics of the platform. This logic could be written in a proper programming language or in Bash, then the relevant info could be passed in via the environment or whatever (e.g. export KSFT_SYSENV_cwd_ftruncate_unlinked_works=1). [0] https://lore.kernel.org/all/Z8WJEsEAwUPeMkqy@google.com/ But, to find an immediate way to get these tests working, I think we are stuck with just peeking at errno and guessing for the time being.