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 B4C66C4332F for ; Mon, 31 Jan 2022 16:04:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 016086B00C1; Mon, 31 Jan 2022 11:04:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F07996B00C3; Mon, 31 Jan 2022 11:04:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DCFB38D0001; Mon, 31 Jan 2022 11:04:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0104.hostedemail.com [216.40.44.104]) by kanga.kvack.org (Postfix) with ESMTP id CDDD76B00C1 for ; Mon, 31 Jan 2022 11:04:21 -0500 (EST) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 8F9151816C8DC for ; Mon, 31 Jan 2022 16:04:21 +0000 (UTC) X-FDA: 79091054322.19.1F137ED Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by imf26.hostedemail.com (Postfix) with ESMTP id 1C48E140008 for ; Mon, 31 Jan 2022 16:04:20 +0000 (UTC) Received: by mail-pl1-f176.google.com with SMTP id j16so12747156plx.4 for ; Mon, 31 Jan 2022 08:04:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pht+u875/nHbiyfmnh2sHRDlYx7sxAKFTWEwLAeL/xQ=; b=asLzFLOtnhAt1wJ9MkFxljPA6I+O9Q3lLsoNk3YTh57vC01yj731U/WEvoQVHChNPv YmPjjWrQVJpd+K5pDqdHk7/Ga+moURiIO0F5YaZp2iEYDbWl0QhBcftDlCDJhERdof// PW6WNKKdyMCNG87pMWXQV+Aj5f9tKti/Uvg/D9Wcjem4fI1UyGOCMPBdSppQhkr2Ans4 8DD/GaoXJkl+gHf4awk75ojdsvXeezRplz7byycXAAk4SvhrjmCccOlB4PEkINoxtgCS pcbaOJ6CDCAdwhYM/2vh/kAdKvw3Di51GKUxoUc0E6zOEe5QRkyjCHdmC4Ro5wuy+yXh 4Bhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pht+u875/nHbiyfmnh2sHRDlYx7sxAKFTWEwLAeL/xQ=; b=txZGuhHOaipe/XyjYA17eb+SdzTIi3P1O2GgrmuODqh5durZcnTbwDhkTQ4KTt9QKm XalXgl/D3gwzScCxAsQMvPW649qBHmJ7XDZFfhoi74hE+6Yt4oX2sefbr6CaCq78YgI2 sKYyI8Xd4OyMD+D0gOqHQyytM0YkFg3O0iuz56cVtsmogchXjJE8kABVVyBvkmlbgNAo AEtMBC34kozcX6T2OfPpj4YJSq1fZb9EvJSY/tU1OugZkIZF0KEyH8N52RhV6fujv9GH GNkZDg9WUNkFoo1pATvJItBrU58rYdebK1glPn4q3Gt/tyqt3IWjEliqIgsAj8+ifv6X Vtyw== X-Gm-Message-State: AOAM530BRWTJ3b+3i90eiG892wOCQ9LOR6z1wtsjlkkkdkUWxVIED72L BK0tRhwKUocW8zGYnGHuYlCVww== X-Google-Smtp-Source: ABdhPJxtq4AiRBDI6E+iaufhjEeklExYl8CNg78gPPyn/nVhJ3VlwPpiHVau25255hprz6v62IPy1w== X-Received: by 2002:a17:902:8213:: with SMTP id x19mr18163640pln.150.1643645060156; Mon, 31 Jan 2022 08:04:20 -0800 (PST) Received: from FVFYT0MHHV2J.tiktokcdn.com ([139.177.225.244]) by smtp.gmail.com with ESMTPSA id n42sm17940716pfv.29.2022.01.31.08.04.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jan 2022 08:04:19 -0800 (PST) From: Muchun Song To: akpm@linux-foundation.org, zi.yan@cs.rutgers.edu, kirill.shutemov@linux.intel.com, rientjes@google.com, lars.persson@axis.com, mike.kravetz@oracle.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, duanxiongchun@bytedance.com, Muchun Song Subject: [PATCH v3 4/5] mm: hugetlb: fix missing cache flush in hugetlb_mcopy_atomic_pte() Date: Tue, 1 Feb 2022 00:02:53 +0800 Message-Id: <20220131160254.43211-5-songmuchun@bytedance.com> X-Mailer: git-send-email 2.32.0 (Apple Git-132) In-Reply-To: <20220131160254.43211-1-songmuchun@bytedance.com> References: <20220131160254.43211-1-songmuchun@bytedance.com> MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 1C48E140008 X-Stat-Signature: yrzz5m3pmfyzqr4bc7ir11mdqecm5pj4 X-Rspam-User: nil Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=asLzFLOt; spf=pass (imf26.hostedemail.com: domain of songmuchun@bytedance.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=songmuchun@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com X-HE-Tag: 1643645060-808722 Content-Transfer-Encoding: quoted-printable 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: folio_copy() will copy the data from one page to the target page, then the target page will be mapped to the user space address, which might have an alias issue with the kernel address used to copy the data from the page to. Fix this issue by flushing dcache but not use flush_dcache_folio() since it is not backportable. Fixes: 8cc5fcbb5be8 ("mm, hugetlb: fix racy resv_huge_pages underflow on = UFFDIO_COPY") Signed-off-by: Muchun Song --- mm/hugetlb.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index a1baa198519a..f1f1ab31dc8a 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -5804,6 +5804,8 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_= mm, goto out; } } else { + int i, nr; + if (vm_shared && hugetlbfs_pagecache_present(h, dst_vma, dst_addr)) { put_page(*pagep); @@ -5819,6 +5821,9 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_= mm, goto out; } folio_copy(page_folio(page), page_folio(*pagep)); + nr =3D compound_nr(page); + for (i =3D 0; i < nr; i++) + flush_dcache_page(page + i); put_page(*pagep); *pagep =3D NULL; } --=20 2.11.0