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 9B4D9C282DE for ; Sun, 16 Mar 2025 08:04:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 05A03680002; Sun, 16 Mar 2025 04:04:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F24C3680001; Sun, 16 Mar 2025 04:04:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DEE20680002; Sun, 16 Mar 2025 04:04:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id C2FE6680001 for ; Sun, 16 Mar 2025 04:04:16 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2A45055B49 for ; Sun, 16 Mar 2025 08:04:17 +0000 (UTC) X-FDA: 83226676554.24.546DAAD Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf18.hostedemail.com (Postfix) with ESMTP id 69DAC1C000B for ; Sun, 16 Mar 2025 08:04:15 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b="15eLF/bQ"; spf=pass (imf18.hostedemail.com: domain of gregkh@linuxfoundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742112255; 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: references:dkim-signature; bh=M+0/h9aDFRntiTMtRd1I+pi0KOstzzZ2qm2E+XHDMy8=; b=sEwl7BUoADZQjNdBnicaxS8W3MJIsHKmVs8BWVNH6VctmU7IBkRty3lCEG+ERXw3IyY/s/ NOYlTwI9cP7XjcdghnYIt5Jl7O4QlHBpLy7HrOuA9VC9ZlVpYMxZmtTqjhMMIIBD3fFNK9 pnquwA0f+iVetp/BSTJFzYrHB605jIA= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b="15eLF/bQ"; spf=pass (imf18.hostedemail.com: domain of gregkh@linuxfoundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742112255; a=rsa-sha256; cv=none; b=Cka5IG2H3NPLb5VYikQNZbKMIKGXxzgsejm52qnV0VmwjFqXa4luzKB10UmA+lh41xUSDh haBsBjSpAKTEEf0vdo3Q2x8PFVbEMOJnretclfWgGqa6FA37qgTM7FEn3DV2EGxYrw4X4n /10d1kC7zOy9yEi0ofXa0B8b31rmel4= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 579BB5C4833; Sun, 16 Mar 2025 08:01:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8AE36C4CEDD; Sun, 16 Mar 2025 08:04:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1742112253; bh=qVy5NOTwJcQ1MJ4GLjQJ2T48TMRnNvNf0Pndm6ouJK4=; h=Subject:To:Cc:From:Date:From; b=15eLF/bQpivx1P1HrDkdqK51Fud3/Bj+JbYTzT0c2727iqGQq1GgI3ZBwfv1rHPqR 2zaXZ9W0zPmfjglo0AjDK3l4krhtnlPNpIgboARPnotenzOSS/7OkUL9B5EcEJ/Szb 5DpyXz3LfFUTakLB8dwpgwRPKU7j0WL8LT/GJRek= Subject: Patch "Fix mmu notifiers for range-based invalidates" has been added to the 6.12-stable tree To: apopple@nvidia.com,catalin.marinas@arm.com,gregkh@linuxfoundation.org,iommu@lists.linux.dev,jgg@nvidia.com,jhubbard@nvidia.com,linux-arm-kernel@lists.infradead.org,linux-mm@kvack.org,nicolinc@nvidia.com,pjaroszynski@nvidia.com,rananta@google.com,robin.murphy@arm.com,sj@kernel.org,will@kernel.org Cc: From: Date: Sun, 16 Mar 2025 09:02:06 +0100 Message-ID: <2025031606-duh-scanning-bea0@gregkh> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit X-stable: commit X-Patchwork-Hint: ignore X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 69DAC1C000B X-Stat-Signature: mm5i1jddp4ixbfxog3hwxftex7agcqx4 X-HE-Tag: 1742112255-447532 X-HE-Meta: U2FsdGVkX19OIQ7qhl+QlFwG/20/OiNoZXZHbJ4p4UT52OACDwWCjoxlR7hfaRhSa4q93/fSKnF62R6ItBVDEgZXWuJlj7w/WTBLQtZw3FCFfSB9J03AE3m5DFY7VBV7CQiqUZzegAGd37cBDA5qg/mQ1gpF2kZPtt6qFD4IlaFgcc9WVSzi0cdPYbnjQP1+cyVJXKhfHUG798MuBM6BUpoPbb+DX+6mz4j54cZokMB5BjrvoaCAUMcWVHMNH4cMFcfELzg7ZQOJj48hOaBNFRsTumCC1++9GTDyUj42aj2vzDQXS+KWWvK0dfiz3Cir+Y09akL0tcnx2qNxEPCTyKwsFaSVP3Wf61tRBGTqT2Ep2JgH6TPHTHmEhT5Q3TJ5v/KSCub7McJ31tsO0rd46Zz/0BWkaA2rnd43eBDA2xUkW8DfdnfSOs2aeNRbHwE+fo9wa/TmUbst+qFORmr01E56FbfI+vp//tsdba2krl0a9eVjQxJJ2k/eWMMnmGVbMlsA2yetphOYZRWlhO3y560mpnkVO5sxnG5HWHYwJ89ekGJViHrs76LANbeY1PfDTkROH9jb8o2keoUTLxqkvX830WPVkPuMrpKWMVchcNVyv5+bOM4I33ObBuWEN6H3malFtb7slD06/XC2s0lPh9/eVWyG5PeFR8W0OkyHjnTpFBenbcsDGeVNIjWa9nadTCPCpYAxt+6OI1Kg3Xm0Af4Te9Cxa4APBBhbff4CKocd+EQQf7ZSCnPPRnmV5ngtFjzTwnhUuldUhd4LIbLIWg9Onavwuaf5KySi1eezpgMTQDgIQ8n0Yylf6fT29oBI+G3+LVxeoaJzKMyCP8gKROzme+F6joNhY1QRAJ9nxcDMmzCB2WgP4u6zE7PjGLVScNhgyQNoX/9J9djR3yqgFnRvAKuDro1DAFrj0QKk4NCk0wKDzGQs17F8P1YWxk6nG7XukJiSb+ldPQsVAS2 /4qcB7Eu zUUxFCChPQvTpwuuTwpeCpemCQ8GoWbYRx2j14ehxEPFBnmixLuyFGqCFHK4OrIBpljOYQsEN8xUkOJZirIT15JZs/lOq1aJxqJ0hz5uHo3mF713/khdNZgOWSAlBz2IXIaJHm2lz1qF266SVMYtx+pm1Te8T0YjYsGKeZLiMAOIO0Ewlvw0O3ArQgsJrHZbFDow1m/pLnc72rm7APoguQCfMoIsReBqX054uUQU7ZpfIEr0S4gtHp+xzz3uRLknkgeSK5pXWoQ3csW3PLSD9jWOC8/qolRdIMw640aIhQSOjBbR1Sl3WTmUShiQ05AZO9Rk0OXm5S1ePTVUAUa+BQr1TmTk+kZ+PyYVOtByF7LRaq4iubf5d6C348ERzphN4n8yD7/CaX/8HSOH6Ih1eveF9ruLpPTTjvU1kfxP/pwnb6wzG/UQ0kSYMymDRef+5fbwjMQeuGZZLsI93akCTvK6A35yeNwdcs4gAPcXNqCKw9jSYRxsNVFjkV8rhKIpNhNWg1HDP2bjOZEj97RXscaIEx2CmgrNA20rNSwSzzcGpeHo+WUkLneeIwTgFHLS89PSA7na2if86z2cag4CtKbD74VFWrZW+UToRq36pU45UAg70EorO+T8gWw== 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: This is a note to let you know that I've just added the patch titled Fix mmu notifiers for range-based invalidates to the 6.12-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: fix-mmu-notifiers-for-range-based-invalidates.patch and it can be found in the queue-6.12 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >From f7edb07ad7c66eab3dce57384f33b9799d579133 Mon Sep 17 00:00:00 2001 From: Piotr Jaroszynski Date: Tue, 4 Mar 2025 00:51:27 -0800 Subject: Fix mmu notifiers for range-based invalidates From: Piotr Jaroszynski commit f7edb07ad7c66eab3dce57384f33b9799d579133 upstream. Update the __flush_tlb_range_op macro not to modify its parameters as these are unexepcted semantics. In practice, this fixes the call to mmu_notifier_arch_invalidate_secondary_tlbs() in __flush_tlb_range_nosync() to use the correct range instead of an empty range with start=end. The empty range was (un)lucky as it results in taking the invalidate-all path that doesn't cause correctness issues, but can certainly result in suboptimal perf. This has been broken since commit 6bbd42e2df8f ("mmu_notifiers: call invalidate_range() when invalidating TLBs") when the call to the notifiers was added to __flush_tlb_range(). It predates the addition of the __flush_tlb_range_op() macro from commit 360839027a6e ("arm64: tlb: Refactor the core flush algorithm of __flush_tlb_range") that made the bug hard to spot. Fixes: 6bbd42e2df8f ("mmu_notifiers: call invalidate_range() when invalidating TLBs") Signed-off-by: Piotr Jaroszynski Cc: Catalin Marinas Cc: Will Deacon Cc: Robin Murphy Cc: Alistair Popple Cc: Raghavendra Rao Ananta Cc: SeongJae Park Cc: Jason Gunthorpe Cc: John Hubbard Cc: Nicolin Chen Cc: linux-arm-kernel@lists.infradead.org Cc: iommu@lists.linux.dev Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org Reviewed-by: Catalin Marinas Reviewed-by: Alistair Popple Link: https://lore.kernel.org/r/20250304085127.2238030-1-pjaroszynski@nvidia.com Signed-off-by: Will Deacon Signed-off-by: Greg Kroah-Hartman --- arch/arm64/include/asm/tlbflush.h | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) --- a/arch/arm64/include/asm/tlbflush.h +++ b/arch/arm64/include/asm/tlbflush.h @@ -396,33 +396,35 @@ static inline void arch_tlbbatch_flush(s #define __flush_tlb_range_op(op, start, pages, stride, \ asid, tlb_level, tlbi_user, lpa2) \ do { \ + typeof(start) __flush_start = start; \ + typeof(pages) __flush_pages = pages; \ int num = 0; \ int scale = 3; \ int shift = lpa2 ? 16 : PAGE_SHIFT; \ unsigned long addr; \ \ - while (pages > 0) { \ + while (__flush_pages > 0) { \ if (!system_supports_tlb_range() || \ - pages == 1 || \ - (lpa2 && start != ALIGN(start, SZ_64K))) { \ - addr = __TLBI_VADDR(start, asid); \ + __flush_pages == 1 || \ + (lpa2 && __flush_start != ALIGN(__flush_start, SZ_64K))) { \ + addr = __TLBI_VADDR(__flush_start, asid); \ __tlbi_level(op, addr, tlb_level); \ if (tlbi_user) \ __tlbi_user_level(op, addr, tlb_level); \ - start += stride; \ - pages -= stride >> PAGE_SHIFT; \ + __flush_start += stride; \ + __flush_pages -= stride >> PAGE_SHIFT; \ continue; \ } \ \ - num = __TLBI_RANGE_NUM(pages, scale); \ + num = __TLBI_RANGE_NUM(__flush_pages, scale); \ if (num >= 0) { \ - addr = __TLBI_VADDR_RANGE(start >> shift, asid, \ + addr = __TLBI_VADDR_RANGE(__flush_start >> shift, asid, \ scale, num, tlb_level); \ __tlbi(r##op, addr); \ if (tlbi_user) \ __tlbi_user(r##op, addr); \ - start += __TLBI_RANGE_PAGES(num, scale) << PAGE_SHIFT; \ - pages -= __TLBI_RANGE_PAGES(num, scale); \ + __flush_start += __TLBI_RANGE_PAGES(num, scale) << PAGE_SHIFT; \ + __flush_pages -= __TLBI_RANGE_PAGES(num, scale);\ } \ scale--; \ } \ Patches currently in stable-queue which might be from pjaroszynski@nvidia.com are queue-6.12/fix-mmu-notifiers-for-range-based-invalidates.patch