Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1079016pxb; Sun, 10 Oct 2021 20:10:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxGQ0+Kjx9pzLPlDBEfluhxOvCeJZXJIca+33EADIofGyMW6v1g8yiTJPwVwTam8JEPqZFA X-Received: by 2002:a05:6a00:8d0:b0:44c:26e6:1c13 with SMTP id s16-20020a056a0008d000b0044c26e61c13mr23702964pfu.28.1633921827804; Sun, 10 Oct 2021 20:10:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633921827; cv=none; d=google.com; s=arc-20160816; b=nE9Ny17IIjqK47p8oPbSsTtBxoz1ppkOQJMPW98DVMjqzl7mevbwaI8siUArNpByvX I45q97lNHmELK0aYlSotGVsu8uLiPxoPYgX+ocBdWovDqMEvPc6fcu4xmRGwJ5wlQJ1M jF5vhYNVZ/63017corWE9CGNqBa2iauhkGEeaNIoWtHlSWchccCDeikUkmsRALMUwPMa WovjF19i0rYXz1n3sGCUGMWZ2b/s/oibtAX67Qkj/UPyrHuCDrDyICfSl8pBeMxGQkft qmmntqLbIyTXBPOU/h0TKi9yd02w/TY/NrGYsUkHGZmbDxUcd1IT4mo58C190eQftaHn gZYw== 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=G0SnEGZKDY9oMHBrmIuhuXQYYMj1mZNb00LGhkXN3Bw=; b=YZdsqVOp2d9KxxGFfEm51CKtOHNlXjMTxZGuIaJQ3SwVWUsCiYL+O0gdCOKzukCE4z gSx05onko49vDZQOgcDMUfzrXlpJyxKjHvSsduUg3d25FfAbF3akV+7J1odXMIpPsAju lDl0eVkwqBFf0vKY9emNKMjduJ2bkgYsx52RkTGhf1Lm/f0jm02tiLh76zXngE9QzlQ8 +He0z9l3nl2psSp2nMiNiUr0tmLK/gqmJI2IWCd+58xwk8crfUNwYrZy6woVaXJ6Aohr zI8Gm4bdMU7iSWMytD5/Z6wf2KiKXVDiCbV8OCiWgVbeKSTpC4xRlZFMuHieJD7K7tir kd3w== 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 d10si9991478plr.295.2021.10.10.20.10.15; Sun, 10 Oct 2021 20:10:27 -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 S233592AbhJKCYq (ORCPT + 99 others); Sun, 10 Oct 2021 22:24:46 -0400 Received: from out30-56.freemail.mail.aliyun.com ([115.124.30.56]:55259 "EHLO out30-56.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233235AbhJKCYo (ORCPT ); Sun, 10 Oct 2021 22:24:44 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R881e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04426;MF=rongwei.wang@linux.alibaba.com;NM=1;PH=DS;RN=8;SR=0;TI=SMTPD_---0UrJKfFt_1633918961; Received: from localhost.localdomain(mailfrom:rongwei.wang@linux.alibaba.com fp:SMTPD_---0UrJKfFt_1633918961) by smtp.aliyun-inc.com(127.0.0.1); Mon, 11 Oct 2021 10:22:42 +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, shy828301@gmail.com Subject: [PATCH v4 0/2] mm, thp: fix file-backed THP race in collapse_file and truncate pagecache Date: Mon, 11 Oct 2021 10:22:39 +0800 Message-Id: <20211011022241.97072-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: v3 -> v4: - Patch "mm, thp: lock filemap when truncating page cache" - Patch "mm, thp: bail out early in collapse_file for writeback page" remove the timestamps from the commit log. 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/ v3 link: https://patchwork.kernel.org/project/linux-mm/cover/20211006021837.59721-1-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