Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp5156888pxb; Tue, 5 Oct 2021 19:20:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJybLYUBmpa7ZQyh+sHKnwhS/2UDxOAYAb2XPr+msSrKj+BExyd78eJ9heJHCQ4Iwtlt477A X-Received: by 2002:a17:906:2505:: with SMTP id i5mr29098527ejb.450.1633486824940; Tue, 05 Oct 2021 19:20:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633486824; cv=none; d=google.com; s=arc-20160816; b=jldwumFISvHeOszoyeZiB3FOgj+4LpurBvtmPS82DDKIoaVVB3y+1aG9zk8adV9Yhm WiLzxMgb9mQ9q7F+bzFu/P0fXClwmfPOVrIsIVEgrzAcZfxptgXckv0rd5wKAQohRGoI eUHHGId8XKN1eGsxovtYHfUpYD4J1zlxaQcQcxK4gdD3I/qU8hz5zh6Ds+TEtb5EzgUU Wbyj3oZn5WF+ecTGqAe01k0sFvJOtSI9FbOWJw/m984uE1Q+arSagM83mf2B7iKn4oYi 0+SyDXV/WtlF/+90ewimcLIjHXOdDUDwIb/04UgqjR3pzibM9OlrBow9LMmkfP063IWu muyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=DB3FozlOw68xKXT8JbCzPOh6et0Rx/9kOqvS63s6eiE=; b=AHeFevLtEWrd6fDNxrNzjRI9NFQDT5/XNKoSdig6JU2u5sT2B6HcH+8hiVWCAxWFWH JVMVV6Vg54smcV1HFrUS65Sl0hFmGHn7VukmzBZAhL5Vu4jelVPMIeYYnf/osUOXl5ho St8gmIOtJrFpFH/9PKohSS8DEpR91TW/XiLM60zUVHTKdGyRgfM55S7Rs128JRlPZ0xn 6XMkjZO3Z/NLwVyKTb7CkEDPIYP7l2nulCaFTR5w7RMWTOa8JRDbg8g4UNFbuacBafl3 0+5WgCCbO2QG47i05miIIQn5bSn0xzgE/QmEL9G1BaxqftSXWggt6CuC7ufga0fuRdVt jfjg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j23si23753829eje.719.2021.10.05.19.19.59; Tue, 05 Oct 2021 19:20:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237159AbhJFCUb (ORCPT + 99 others); Tue, 5 Oct 2021 22:20:31 -0400 Received: from out30-44.freemail.mail.aliyun.com ([115.124.30.44]:53083 "EHLO out30-44.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229908AbhJFCUb (ORCPT ); Tue, 5 Oct 2021 22:20:31 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R901e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04357;MF=rongwei.wang@linux.alibaba.com;NM=1;PH=DS;RN=7;SR=0;TI=SMTPD_---0Uqi9lTZ_1633486717; Received: from localhost.localdomain(mailfrom:rongwei.wang@linux.alibaba.com fp:SMTPD_---0Uqi9lTZ_1633486717) by smtp.aliyun-inc.com(127.0.0.1); Wed, 06 Oct 2021 10:18:38 +0800 From: Rongwei Wang To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: akpm@linux-foundation.org, willy@infradead.org, song@kernel.org, william.kucharski@oracle.com, hughd@google.com Subject: [PATCH v3 v3 0/2] mm, thp: fix file-backed THP race in collapse_file and truncate pagecache Date: Wed, 6 Oct 2021 10:18:35 +0800 Message-Id: <20211006021837.59721-1-rongwei.wang@linux.alibaba.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210906121200.57905-1-rongwei.wang@linux.alibaba.com> References: <20210906121200.57905-1-rongwei.wang@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, We found two bugs related to file-backed THP in our cases, recently. The two bugs rough description as following: 1. in truncate_inode_pages_range, subpage(s) of file-backed THP can be revealed by find_get_entry. 2. 'collapse_file' miss the pages which in writeback but no private. This situation will be triggered in XFS when block size is set to PAGESIZE. These two patches mainly fix the above mentioned bugs, and have been tested in latest branch. Changelog: v2 -> v3: - Patch "mm, thp: lock filemap when truncating page cache" add filemap_invalidate_{un}lock before and after calling truncate_pagecache (Suggested by Song Liu and Matthew). v1 -> v2: - Patch "mm, thp: check page mapping when truncating page cache" move the check of page mapping to behind lock_page. - Patch "mm, thp: bail out early in collapse_file for writeback page" check the writeback flag before taking page lock (Suggested by Yang Shi). v1 link: https://patchwork.kernel.org/project/linux-mm/cover/20210906121200.57905-1-rongwei.wang@linux.alibaba.com/ v2 link: https://patchwork.kernel.org/project/linux-mm/patch/20210922070645.47345-2-rongwei.wang@linux.alibaba.com/ Rongwei Wang (2): mm, thp: lock filemap when truncating page cache mm, thp: bail out early in collapse_file for writeback page fs/open.c | 5 ++++- mm/khugepaged.c | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) -- 2.27.0