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 87344C77B7C for ; Tue, 24 Jun 2025 08:07:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1F38A6B00AD; Tue, 24 Jun 2025 04:07:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C89B6B00AE; Tue, 24 Jun 2025 04:07:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0DEE06B00AF; Tue, 24 Jun 2025 04:07:55 -0400 (EDT) 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 E56746B00AD for ; Tue, 24 Jun 2025 04:07:54 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 98F30C1C4A for ; Tue, 24 Jun 2025 08:07:54 +0000 (UTC) X-FDA: 83589565668.14.A26E2DD Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by imf23.hostedemail.com (Postfix) with ESMTP id A639B14000E for ; Tue, 24 Jun 2025 08:07:52 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jutVMYaq; spf=pass (imf23.hostedemail.com: domain of david.laight.linux@gmail.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=david.laight.linux@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750752472; 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=aEKaHr7bzVOBX6mtsl4IPvcEgrMN7hu031sel/DT8/Y=; b=HR4vDwwAuMcHo/orSaGuJYxeDlneySwKyOBOo5gfcP43xA3Ncl+8vXh1SXwIWG44MCNkkA CwddMAanXV3TbZ+ccs1vJsyG6UkItvWOFP0Ia+U+dNhQ5yF2xOeMLDO1lYrdl/zapgP1ze 3gv0vFOvIMM/XDW71cBacITnAOhZA2M= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jutVMYaq; spf=pass (imf23.hostedemail.com: domain of david.laight.linux@gmail.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=david.laight.linux@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750752472; a=rsa-sha256; cv=none; b=xhi4tnC4+/xO3xIz4xqD/r0bBJTpDCtN6uAgPBRo7JbZBSE6WoY39w9Y+WgVInkXvYWa30 0LRVE6b8qiD2wZuW+VixQhVjBu217rPohLmVzcXJoy+5AJJTPIpCFzW5zyIsCq5mD/qg9Y MofnihEX1cJVqivgOvcM+MKmtmYy1HU= Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3a4ef2c2ef3so3904699f8f.2 for ; Tue, 24 Jun 2025 01:07:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750752471; x=1751357271; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=aEKaHr7bzVOBX6mtsl4IPvcEgrMN7hu031sel/DT8/Y=; b=jutVMYaqVJbvh3czoiKvn+0R7OorLfTThtVvqt+4wOXbL+I9kcpB9NGP7SYTHY1aXk gCmcUFHesxWZX7DKofQyfZn+kGkUnelttHVFwzo+T7XcCw92higKewsK6319uVrVTlcR NGbhu64S5KZ63ZkmViZKq5xJYpquPV3Khg4YxidVKjWtqCdpX+Mc3sCRxR9kQIy7olpV 0xyoLDYbTL7HzJG1Fu9w824VKeLTkd93UaRH8+1tGle6/dXelyy40Rzm80xq1Kn5BYdR 60yQ8sPu/k2x/lNfkADcnA6GHQD9KHLtvIQvXxWAfXwQe7ooJGmxXcR4VmNRvlajnu9N QnqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750752471; x=1751357271; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aEKaHr7bzVOBX6mtsl4IPvcEgrMN7hu031sel/DT8/Y=; b=j1cW8lmiwq0RW5mbPP7Pk9Dm14L/YnyGWS0/WsR512Bh1pynIPODz458ebPFzMvFP2 FfuaS1rLKyS/8quUCMSgRKygqebL2fD0m4SU4bTayMpf13pMHosrGEeaXfUsbsAV4Khr +GM+XhgsMaruziST8cxtHX/YedYYmlc/QRpwXKCrdyzVoq6zVuKSicysgoZ1iGE2l/6M PGnO+qU0hCLM41rQZreir0xeK8U3qvoTdQyhaIrpoMwUkpaaTyi2l16Ypd5qYHSJXeEy 32rZp0ZrZtDJUR6UVaMMS2ABF9/1468NmzuLDyAV9tfVdyRw8ZVepNN/zjqyQ9hE6CZS yA/g== X-Forwarded-Encrypted: i=1; AJvYcCWy2bBH5JT5O/2mtwZPxxYkQFh9Upc/6/0cACu8wieHXuzN9So+xnc//rv28Z92qmaWB0LWvb+NCQ==@kvack.org X-Gm-Message-State: AOJu0YzFewLHXEzpyHEWyrvEZLhksUQEgnhJXOcxEUi6OHLlATwLhxIl PrwrPQavotidc9kiN/p4A0iNMoMUFym6K/quS2ghYhgI3zsHjnv/CAHE X-Gm-Gg: ASbGncunuaHOCjVrEVcF3H6/7BDec3dLD6mPycT95FjIOIs0Osxs33OkuKHYmVfmGx9 epX2tJS+oxLAy1TNHJkQ5Xo5NqOs46rZQtrr2QEnR2SXpTbT2y+rzE713totg3sfpNXLW1QBtcQ XxeIhAXgPGH4Cjq9TQNHz9BOsVCwHe9xFhIwYKBThFFWboXRjGbzhq06t8Mw5acpWUY5hIzZa32 jifa+FQdEnnPCRMYK7XMrdgAriTzhTL8xp++yp5MqFPLl3cIN3uYnW+P4QwjJ3oM4BX5eFLkDS1 BvRDYBUT36/kFCcjBy/QMrVCZ6EtSzqbrmQYmcseGFT00j3ZqgGavCkeyCRyP25xbyASD6uYKUO LekPNI4+XHi+DCbMUs13exXr1 X-Google-Smtp-Source: AGHT+IGj40J3gYQNZuNyHWQXqC5QGveSgT4VbYt/zXOwee83nuPUMNJqpNFfTApYGAVg7P7wmmNZYg== X-Received: by 2002:a05:6000:4028:b0:3a5:27ba:47c7 with SMTP id ffacd0b85a97d-3a6d12eb400mr12534935f8f.48.1750752470752; Tue, 24 Jun 2025 01:07:50 -0700 (PDT) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45366b4d0adsm122345145e9.14.2025.06.24.01.07.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 01:07:50 -0700 (PDT) Date: Tue, 24 Jun 2025 09:07:48 +0100 From: David Laight To: Christophe Leroy Cc: Linus Torvalds , Michael Ellerman , Nicholas Piggin , Naveen N Rao , Madhavan Srinivasan , Alexander Viro , Christian Brauner , Jan Kara , Thomas Gleixner , Ingo Molnar , Peter Zijlstra , Darren Hart , Davidlohr Bueso , Andre Almeida , Andrew Morton , Dave Hansen , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 2/5] uaccess: Add speculation barrier to copy_from_user_iter() Message-ID: <20250624090748.056382c4@pumpkin> In-Reply-To: <2f569008-dd66-4bb6-bf5e-f2317bb95e10@csgroup.eu> References: <2f569008-dd66-4bb6-bf5e-f2317bb95e10@csgroup.eu> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: A639B14000E X-Stat-Signature: aedmcmc9j3rokrazyxq83iyhm67fzkn1 X-Rspam-User: X-HE-Tag: 1750752472-935775 X-HE-Meta: U2FsdGVkX18q2YXp4QSjOfXj6zR1OuCr1HDV78lIlLS8K5yiV4L/x0VDq7DajWA1am6qMW24wu2grS00GDjm8nihTSrn7MXQH6HojKMzgISx2jk46UVeuaXelS2nlz0rMpvoiy9+8gSU1YMRcxNwhgg8KC+U3KQckdB+jP8e4XrxbSl18CiZRc6/xS2+RlXZHEP+JhU6HH5W27OCsth2rUpEvZjLIf7FL5uPoRavZwLdCbzLteRu6mp2kCqrwVzjMI9sY/OVj2HOLlmgKgkjJoBIAl25p6ryWyW4t32ny+j4quBCGv+iuh8wTXP5YK3RkpGQCIgaF4qyvGQ+1jD8D2oAtORDHtedR8haePFZCazwvvQRLAaysHSGBK1uPz978NtAnKfddVKjXlgyWN9TwE3qeiN0hvZGj4aAIDPq3HZ6Hk1xn8xtE4Nzb47/mtvRCAb0Wqbzkt1ALU+UWnYOusYY8De29hNMoU9bb99XZwHjXIW2YaMbuHc8VTJ2NTo69WUjP+tWB2HRR6rNqoc5wPB/Y0UUZ8NsWQ/42dbzejxxgTKnb2Pair6TzLo8o4NxxysfRRzNEOfq9k2h1fRocOy4Bhw/S6YIkLmMDayUeN5bdw/VxKwUh3oqPx8FJ0A1oyPjeBN4l3bUmi8Vym0CIczK1eFhvNkmLyOI5Cz0EFCul6s/61xiw9fLeCB4RiX1Ic5XkAV+CAYgtiTbJn4NOn2s93bLLErU437FzmM2Yi7hQJrNN9VHN4/0uqtk5vI7OV3ACWWW77AvSjOr0dwUM8J0hL99AgTy05qmX693TjfePvdUKTIN+mXCeEMpj46bfOXmqhEtHAQcH2uyIv8nwu7o8mm3l6pUQ9S+R7+H216mnBHjjoZl1XUtSf4crAjIVY15oABnprak7+K4XW6r/FhuH4amWJrFYuCP1sUYQLVtrBGHjzYOaEK479DMGGDVk59c8JXj8XHu+CiGVKw 4SKsJueu Z/ulRc99fQYnEcFngjcEwYmNonZz/L1JidFyKAAHd17hb4RnoI3vLqb3EPkB+HV4SavTSlIL7RV5VR6maKsBzlhkgzuw36kDLV9cKJwn+oSrUdVCgOru+K02ZzEEL1Klm1PnnP3j8NBRJlnGaBdt+fi9cHmnwdjdBY5gFqeW9RwHsSpV74f6MHmzq3LuKOTAywZ6PBbQcv2bNXH+KFp71Maf7J1QscMd7Tcc4ZkIerd1j8Ar/kpEd6h4k6FE86ohrLzVivf3xoch9pRSiJWIcbSt/rZL2RwsUltnmviWdjzsfCnwalmnJhPLTK9s4TUwVBRHeHUevrXJ7fUMRo1NoUPFwsDxrBYrAgkzWJCJigOMctagpPWFNYomRMCzkhxtjUmExSFqX1AqaSHvmRudKwh4A3VUTQwXKswBJx7NREM4pPnDR76GszHbPfZksR48ZHyRCED9R3hZ7jJZVz+TD36ZOCBBwaePcNcbxUNM5OJNLHdbURmI2FtecDMaa7XC022V4U7ajxxR3eRlxWyREPiZYvlg+6jYNeNM+ 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 Tue, 24 Jun 2025 07:49:03 +0200 Christophe Leroy wrote: > Le 22/06/2025 =C3=A0 18:57, Linus Torvalds a =C3=A9crit=C2=A0: > > On Sun, 22 Jun 2025 at 02:52, Christophe Leroy > > wrote: =20 > >> > >> The results of "access_ok()" can be mis-speculated. =20 > >=20 > > Hmm. This code is critical. I think it should be converted to use that > > masked address thing if we have to add it here. =20 >=20 > Ok, I'll add it. >=20 > >=20 > > And at some point this access_ok() didn't even exist, because we check > > the addresses at iter creation time. So this one might be a "belt and > > suspenders" check, rather than something critical. > >=20 > > (Although I also suspect that when we added ITER_UBUF we might have > > created cases where those user addresses aren't checked at iter > > creation time any more). > > =20 >=20 > Let's take the follow path as an exemple: >=20 > snd_pcm_ioctl(SNDRV_PCM_IOCTL_WRITEI_FRAMES) > snd_pcm_common_ioctl() > snd_pcm_xferi_frames_ioctl() > snd_pcm_lib_write() > __snd_pcm_lib_xfer() > default_write_copy() > copy_from_iter() > _copy_from_iter() > __copy_from_iter() > iterate_and_advance() > iterate_and_advance2() > iterate_iovec() > copy_from_user_iter() >=20 > As far as I can see, none of those functions check the accessibility of=20 > the iovec. Am I missing something ? The import_ubuf() in do_transfer() ought to contain one. But really you want the one in copy_from_user_iter() rather than the outer = one. Mind you that code is horrid. The code only ever copies a single buffer, so could be much shorter. And is that deep call chain really needed for the very common case of one b= uffer. David >=20 > Christophe