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 270DDC4332F for ; Tue, 14 Nov 2023 16:30:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A760B6B02E6; Tue, 14 Nov 2023 11:30:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A25526B02E9; Tue, 14 Nov 2023 11:30:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8EDC06B02EA; Tue, 14 Nov 2023 11:30: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 7F7F76B02E6 for ; Tue, 14 Nov 2023 11:30:57 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 539371CB758 for ; Tue, 14 Nov 2023 16:30:57 +0000 (UTC) X-FDA: 81457098954.11.73EC780 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf28.hostedemail.com (Postfix) with ESMTP id 72409C0006 for ; Tue, 14 Nov 2023 16:30:54 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=d1gPUEX3; dmarc=none; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699979454; 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=jzAvsuanQaBUz5wPAICLWh1DYVHn95ZYhRfrq3ol09k=; b=42OWUYS40MapmHTMuMCdPXcSDY932N7sr6/AjKziko75zT4pv9JURMEWQPRbzNWZvP2YzO UvwE9JOxBb/tuHXnzQ4Lj4Mx4zlGL1K8CV+s/45vc04OmvrvyuFCz6AcppJvn5mWPvHaZ8 ErrKj5GM/asR6YB0gb64HB56gY1ku8A= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=d1gPUEX3; dmarc=none; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699979454; a=rsa-sha256; cv=none; b=SxnGySb4vlV4aUEPX2I/jBAgRXyUZEIoVTIk71YR0gum3725W9CwY+obHoiMwLsCSNhyq6 uw3AZoL5fuhrYHm1egxTxVL5jVg7qrmeplmBHF5nxarTjFBUFmnx+vhZguCVx/wf//crQm D9TxR4gJeZO7NL1gPB7DV8fUpoZRueg= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=jzAvsuanQaBUz5wPAICLWh1DYVHn95ZYhRfrq3ol09k=; b=d1gPUEX3pq6yX9fi3hvaLve7H8 ZEtozIqC/bIDWmECea+bn3EL133oT17bFeubsrp9hEhNVLkcU3IB2OwfziYEc5OC5uzHID+hqjGdu xOxFBc8WCXvZHM4Mb+AzyMOz4vxsCUEkWYkzzgsUo3TwuVf0fb7nK7u4eBISiPGFK+SAGzAp1Vl7s XV1JEUv4+MUeO9sfEZb3fTwWnKE2XuKL+46l6Kmh374h3CWLlbDZ1Q8nwibDbsYyAonb7+t9CS7PY eql5bg6btm3EqJhO1b/Xis89fdiJN+hAmFIzQRlDFW+8CeKX/A6uuqlCmM+4K83V22EkMr7v0jmr5 q29Yy/vQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1r2wJN-008yeS-Vo; Tue, 14 Nov 2023 16:30:50 +0000 Date: Tue, 14 Nov 2023 16:30:49 +0000 From: Matthew Wilcox To: Ryan Roberts Cc: Andrew Morton , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v1] mm: More ptep_get() conversion Message-ID: References: <20231114154945.490401-1-ryan.roberts@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231114154945.490401-1-ryan.roberts@arm.com> X-Rspam-User: X-Stat-Signature: riu16zo7m5ngodqrnkffu9jpdikdcdqc X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 72409C0006 X-HE-Tag: 1699979454-688381 X-HE-Meta: U2FsdGVkX1/qJhtYRp/mLqGbclduquLnTxc68bFK/Lvty9vj8VweBefVeGONOy0fBBJF3EFmxNAlaz6PKQ4OYbeTDUwMbuWxCpS43ilP/HAlCO7UWi0yhuwacc2w3rO7B9pQ2knf0NtSqzYcbJqkx8shenVgt02UhwcrmeoM4NVZWykCihWRhyuzNJ3ZL9HOmN1cocr5rG3V98TFRhj3R7WNEI6HNFTAynQQ/N7AC/0xS9ZDwixyRf3DSa69zKw4yu3K37JsN01DCr8xV46oJTPQeDZ5DacWcs/sD7eSAuIXtXlPVu3OwewHKVejt07kqMzHfQHgeTflNh0IdIF153NXW6DwOaK47qLg9AKSxtCG0Q9otbz8460ETXi1yZ5868d8SL/ueFylacT2M5kzgs97O2ww7FJhTFex5yS6+gphGj2YUts/k20cRpVfwMHQ1pg7oYmO1yN8mMLYDq5L+3lh0vUPgPaFXSRSJQrHLqVQ11Aqh1doCspxTSyciDAmRJZ7D+2qvAVie5PvdnwOWbNiRJWSA3qrw3+qeWMkzeBp/DkNwzBhcKpOaDtlNKl0aqVtu51VfmRlgtxqgrz/U6ISxd6A+HUSHZ8FSHXhXu4RDaXFcafXHt07atenTLiGbyCBwnmh8anebTahVBlNnUT/n0iZc4Ha883ua9adZE2OgdQV8NGajpxuk7FNt4J9pUIl6LllwuUGcW8mNDe4AY1W+EVNJIhjjneYbMMM9f0Pwx4ZmE9Xxegzv7rvmLvZrc0vDtFx+WJochGuAHSnrWNowa+BWPSjlo4pZKlk9G66A1MnNWYYsN7utxCD/h05+6tUUZskHuoOhPFFo3rrXEkQK/MO6hUx6mkNpn0zq+X/OdTKbUKasVzLRoZ/ur891wEFjWu7GrpMDJXJ3piDkwN/X/svj2Sj8Ghrg/Wsjqt8hQLk9vGD0h2cYOkD2bofHXpZ/l4RK1sexZhvhO+ j2Pr2pzH TnKi0er8RWtK4QdOXHpTmMkgBsiGzJmVJZ6vGWtsNvVt1GVAFQQEg9t7Wu/T7UfOcHKg98FdmZ2EPIWEspPpouX9JFIrCRZAJrSaVkgCMRmEfcAopjFrx2J8bt/dikf6U79I7DMzH5lMG7Nzwc8ftKz0cwIgZDG6tiaf/DKYiYJVM8fL1O67eu+3TWA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.016198, 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 Tue, Nov 14, 2023 at 03:49:45PM +0000, Ryan Roberts wrote: > Commit c33c794828f2 ("mm: ptep_get() conversion") converted all > (non-arch) call sites to use ptep_get() instead of doing a direct > dereference of the pte. Full rationale can be found in that commit's > log. > > Since then, three new call sites have snuck in, which directly > dereference the pte, so let's fix those up. > > Unfortunately there is no reliable automated mechanism to catch these; > I'm relying on a combination of Coccinelle (which throws up a lot of > false positives) and some compiler magic to force a compiler error on > dereference (While this approach finds dereferences, it also yields a > non-booting kernel so can't be committed). Well ... let's see what we can come up with. struct raw_pte { pte_t pte; }; static inline pte_t ptep_get(struct raw_pte *rpte) { return rpte.pte; } Probably quite a lot of churn to put that into place, but better than a never-ending treadmill of fixing the places that people overlooked?