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 EE4B4EB64D7 for ; Wed, 28 Jun 2023 19:20:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7E2CA8D0006; Wed, 28 Jun 2023 15:20:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 793068D0001; Wed, 28 Jun 2023 15:20:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 65A948D0006; Wed, 28 Jun 2023 15:20:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 5280A8D0001 for ; Wed, 28 Jun 2023 15:20:05 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2C842B03E6 for ; Wed, 28 Jun 2023 19:20:05 +0000 (UTC) X-FDA: 80953121970.09.7F2BB34 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by imf05.hostedemail.com (Postfix) with ESMTP id 0757B10001A for ; Wed, 28 Jun 2023 19:20:02 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b="a/W8iJjl"; spf=pass (imf05.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.47 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687980003; 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=JyArVu4aB7TFdxCwRbf3XY40ntQA2MhFquVGiFkdvFo=; b=KQdx3PWGm3/1pA8186zxPYAW/py+s+2C+neQByq8rlB2qifT8TI/mHJiOUz3fiuyB0hpCY AHazumumBUg37q9niYqIhcIeqn/XeCYBSAUdqNPyJmXqDtkjOSlKcr8HcHb2ksvj5wGgXs O6/qwQQ8OKNwko4hzB+7U6kNB6RgOCo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687980003; a=rsa-sha256; cv=none; b=tf8tBLfOOTMXynrJRDSHlmQBWAbtpc9e9flzmLT9wGeiwUgWVtnIr2r5ZeBG5sd5hNUZ4U M+2/57IhByQdmG94E19sd9r+XQGorhKHiXHVI0q18CaP+babZ299mCkcusdxNpDLO1CMy6 BGByQVSlPYm0L5ojdGBJDJkAdpv//aQ= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b="a/W8iJjl"; spf=pass (imf05.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.47 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-4fb7acaa7a5so5288548e87.1 for ; Wed, 28 Jun 2023 12:20:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1687980000; x=1690572000; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=JyArVu4aB7TFdxCwRbf3XY40ntQA2MhFquVGiFkdvFo=; b=a/W8iJjlmmvCPEWuMe4BXKXFW/WMIAL9YlxN1j6FV80yakPKRKd4ztPijjeZesNjLb 4SvO6nKPpHgHfx3087+APgp4brmIDPfDzlsx8HoWvaQOdFieUMRLxmKRKN2diFS2qvhU TI+48hX6WvnnwSpaHcAte1l6bqnvJYF1HXl6M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687980000; x=1690572000; 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=JyArVu4aB7TFdxCwRbf3XY40ntQA2MhFquVGiFkdvFo=; b=jvm2iA8VeOXeLImBk/3ayblSkMxD/R4jtYxwsQ/JcHowR5BCSa5eMDub/9GMpUZlnR 8JxBEEG7JzhZOLYQc0QB+87g47LQWv5NbEoOkj1VwE+Hfl19vj2FXnriIC7Gg1HM4U6Y vz/GI2t0mXlFFAGL63GxbGOX6KVn6smMKC77XsApBFtrUAb2tMtKXQNlJBGn0/cPO2Zf ZQ7jMebOzdP3ClMsS9GWKPZAxPrIQVdk/F8QADAgMbry3cShA3LpZH5gCnwyHFtEokvn QJa6Q1w3nhiPGR087aSOGSFlbQwJ15r5G3/otwOnhol6rvmprIvl/dWsHUBzHIeVXjUX LBYg== X-Gm-Message-State: AC+VfDy7uq5nlJXI1ShWe9L9bhuiXFOXHOnz42hgSDPvPyBMy+aXAfeG Lqsz4mL0pmWQuHfYvXczfPojMoyxnz/CeLygKJlO+B3k X-Google-Smtp-Source: ACHHUZ6oay26UK58dlZGDmKB3AzKKRfQzmd0hEMAKDCyaIc/RNhhAEA4PQVQbBC05h0eRmGIshMqoA== X-Received: by 2002:a19:670c:0:b0:4f8:a858:e60f with SMTP id b12-20020a19670c000000b004f8a858e60fmr11784716lfc.59.1687980000260; Wed, 28 Jun 2023 12:20:00 -0700 (PDT) Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com. [209.85.167.45]) by smtp.gmail.com with ESMTPSA id l17-20020a19c211000000b004f86d3e52c0sm1843060lfc.4.2023.06.28.12.19.59 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 28 Jun 2023 12:19:59 -0700 (PDT) Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-4fb5bcb9a28so6267550e87.3 for ; Wed, 28 Jun 2023 12:19:59 -0700 (PDT) X-Received: by 2002:a19:7b02:0:b0:4f8:83f:babe with SMTP id w2-20020a197b02000000b004f8083fbabemr20751801lfc.62.1687979999337; Wed, 28 Jun 2023 12:19:59 -0700 (PDT) MIME-Version: 1.0 References: <20230626085035.e66992e96b4c6d37dad54bd9@linux-foundation.org> In-Reply-To: <20230626085035.e66992e96b4c6d37dad54bd9@linux-foundation.org> From: Linus Torvalds Date: Wed, 28 Jun 2023 12:19:42 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [GIT PULL] MM updates for 6.5-rc1 To: Andrew Morton , Lorenzo Stoakes Cc: linux-mm@kvack.org, mm-commits@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 0757B10001A X-Rspam-User: X-Stat-Signature: srugirawcch3mnrmar9m5c7b6cegqg5x X-Rspamd-Server: rspam03 X-HE-Tag: 1687980002-460016 X-HE-Meta: U2FsdGVkX1/+N/PPS2eyVik3rH7cbjovLGdt0tQ/tX+I4r6Ygt4jgdqdwz3BLYkXP0dBRhnHAdrFBjZPs665W+nC8qyC3/030AvLf5Da37DuddRO1R0BcFMu2eMCjN1H0zZrbehseJL6id/l2YVChHJAWBZM39VDIPOm4hcE00k5mZ8/pQbP9Nz3PwStfX3pg5wrrOlIjOxvi+d5ZDeJ2by2HdFo/a9Y1v4ETzeMJnKCViROAxcIXOHD5F3ZOi385CPbo+jnDxaldE1GnMhESDIw4brPTq3sZLAqmHdpW7jmffP5BXJum6T+biRYCfKIF6pgCWtVOaF6J7PU+65PkNFU33PGymzj1mv/Kv39O0tnKtQQ6nXy3JAF24JX5Mhfd75LLVMvK7oob0cHdBKk3XRzd0Es35m5zACvH5XwiuYJUF1m3vuDKRMk9hnjSJzHWC33AgQczmKVJ6e3r82mcNRW0N30TrdaVGbHsNpmhP9REeGdbXHWnKGHJx6TwqAANL8OdTfC4aWftk+3+T3BtgKnHipfooTKLHDUReuRSXBGgtWjGbW4HX1h+GB4Picd0hBVFAYZ/7DSWcSUmO5tus1JffQ0TqgGD7cJjJfZbcbIdB/7CC5wRfOGEo/DL936RAtESERPnaNLOEsxBb62XzzD6GQ25hTl77p1VmceuAW6JuevKST0QbLP/h9lsVhPho/r1vOsmmCecQv3idOqM5oKAihGDPwIiLpXq7zHDEAH9CbwuE4qPSPbc1qEzGppaZr3YVWGd9TpSSu+vHy4agYns7o3VxVrDw5dSPPokKjT7KeF/ekhWeGKb+M7FaSD4MeTqjvz4DsiEjSZnJbpsHBHTNo2G6SgXuFCLcmWyFevGG95eGYwVgLY5eyl6dhBfKCVZDQVZ2brnDtZyVJ9LZEV3QcPbKcBnzt3r8Kmn4L48X3A3B5pkTmUuT4FbtCeoyJ08Uy3ZzKHWt5BQF0 69zMz5sj ySiwmWO1iVaIBH+6calAglyWZMbl1v2PG0yn3qZoKjo4lT/VEsOYBm6eal91NxayAbacjAts1xa9urOYdAnuwX1WeBWFANBAk0XvPrNOgvVMzygXsHHY3ndHD6BHkSACKHhgnYv8TA6r6+ObB70uHnNoFnvu/5ebimi6u7sRRf1PFdTxF92srsFRzSt0mJLPOChh2foJuWpa7WuhAhbbowjhO8Y7QrehZdD+EvHTjlputKY931NH9RGrwNt1IzmWoCqfM2BnsWDgw9IC8/jTPpG6wTYA3AJ+H4KkyBonI6O0hfUyJmleatZSwWIQe1bowWDlx4LnjdaS2KfCmEWysC699NmhYRsW7pp+Y2qKWBiFl04ib79uVrxfmJFX/qpbF8fDDMNutcv5nJbXakWH6n4PlWZhOHiYY95c8oW1eF2TJCG3bxq5QsBeJUimpqVSKueWBWgP5Wp05ZO74iAcVFoBlEOTlzsNTqvecZaJfpbqDTOBVuYcEoD4/ybM38eg8EE8Pn+HqdFUAh+3YxbToZifIaCfTFpZvvsSdZWbV4dTaJRcvDXFGO4kIcg== 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: On Mon, 26 Jun 2023 at 08:50, Andrew Morton wrote: > > Linus, please merge the MM updates for the 6.5-rc cycle. Hmm. I have merged this, as pr-tracker-bot already noticed, but I found a bug after merging it. mm/memory.c: __access_remote_vm() is entirely broken for the HAVE_IOREMAP_PROT case (ie all normal architectures), because it does (skipping the non-HAVE_IOREMAP_PROT case): struct vm_area_struct *vma = NULL; struct page *page = get_user_page_vma_remote(mm, addr, gup_flags, &vma); if (IS_ERR_OR_NULL(page)) { [ ... ] if (!vma) break; if (vma->vm_ops && vma->vm_ops->access) res = vma->vm_ops->access(vma, addr, buf, ... but get_user_page_vma_remote() doesn't even set vma if it fails! So that "if (!vma)" case will always trigger, and the whole ->access() thing is never done. So that __access_remote_vm() conversion in commit ca5e863233e8 ("mm/gup: remove vmas parameter from get_user_pages_remote()") is entirely broken. Now, I don't disagree with removing the vmas parameter. I just disagree with the get_user_page_vma_remote() helper use here. I think the minimal fix is to just put the vma_lookup() back in the error case: --- a/mm/memory.c +++ b/mm/memory.c @@ -5592,6 +5592,7 @@ int __access_remote_vm(struct mm_struct *mm, * Check if this is a VM_IO | VM_PFNMAP VMA, which * we can access using slightly different code. */ + vma = vma_lookup(mm, addr); if (!vma) break; if (vma->vm_ops && vma->vm_ops->access) and I'll commit that fix for now. Anybody who disagrees, please holler. Linus