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 1C3BCD597C1 for ; Wed, 13 Nov 2024 01:25:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7743F8D0003; Tue, 12 Nov 2024 20:25:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 723548D0001; Tue, 12 Nov 2024 20:25:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5C4458D0003; Tue, 12 Nov 2024 20:25:47 -0500 (EST) 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 3D4D68D0001 for ; Tue, 12 Nov 2024 20:25:47 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A6E75C02C1 for ; Wed, 13 Nov 2024 01:25:46 +0000 (UTC) X-FDA: 82779327750.01.C8DBC16 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by imf11.hostedemail.com (Postfix) with ESMTP id 6ABD840013 for ; Wed, 13 Nov 2024 01:24:45 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of shikemeng@huaweicloud.com designates 45.249.212.51 as permitted sender) smtp.mailfrom=shikemeng@huaweicloud.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731461089; 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:in-reply-to:references:references; bh=GwsX1P6fKYT6BS0sMY4bGu7oiZ+NEEtVyzAN/x3eq/0=; b=e255XZMGVMGbuFAi1vB0DAd2MNvXSgY0AiBG8Z4KmnFmQuI7GUXloYsMwpKSKMgN0/IRhl QjloGYHtotOMJ+3auUG5wc7kSmPvvhr+x38bh9z1iSG+enHFbfoCYc2NRosql6ApEpKE41 vyEHExxQsGVDMWXPeAp5mznQlk8PTUw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731461089; a=rsa-sha256; cv=none; b=f2bnWQqkLGzFe2hwkwVvOBWrSl9VH2065r0OEPBoZkB1iCmFotZkdiyo5ar6mm09TivXoO Q96GVrhKhi2WFzkHrbLELCkf3pLEWuPCpO0/9Y3hpZZNu/wUYFLcsw0ypLhPzScNJPjm1Q Yr4uSP3NdXnqEX3P+TD+8ivWhZybeM8= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of shikemeng@huaweicloud.com designates 45.249.212.51 as permitted sender) smtp.mailfrom=shikemeng@huaweicloud.com; dmarc=none Received: from mail.maildlp.com (unknown [172.19.163.216]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4Xp5F52r5hz4f3lft for ; Wed, 13 Nov 2024 09:25:13 +0800 (CST) Received: from mail02.huawei.com (unknown [10.116.40.112]) by mail.maildlp.com (Postfix) with ESMTP id 7CCD71A0196 for ; Wed, 13 Nov 2024 09:25:32 +0800 (CST) Received: from [10.174.178.129] (unknown [10.174.178.129]) by APP1 (Coremail) with SMTP id cCh0CgBH77ALADRnl6taBg--.30653S2; Wed, 13 Nov 2024 09:25:32 +0800 (CST) Subject: Re: [PATCH RESEND V2 0/5] Fixes and cleanups to xarray To: Matthew Wilcox Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org References: <20241111215359.246937-1-shikemeng@huaweicloud.com> <20241111132816.3dcbb113241353e9a544adab@linux-foundation.org> <8667a8e9-8052-4a32-817a-2c4ef97ddfbe@huaweicloud.com> From: Kemeng Shi Message-ID: <3bdc195d-e8ae-f82b-1d44-c3c2628afead@huaweicloud.com> Date: Wed, 13 Nov 2024 09:25:30 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=gbk Content-Transfer-Encoding: 7bit X-CM-TRANSID:cCh0CgBH77ALADRnl6taBg--.30653S2 X-Coremail-Antispam: 1UD129KBjvJXoW7CFyUJFWktryfKw13XryfXrb_yoW8AF15pa 93Gr12kF4kG34rAwn7AayIgw1S93yxZrW5JFZ5W3y0yw13WryFkrs0gF4F9FyDCrsrCr1j qF42yasYv3Z8ZaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkKb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k2 6cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4 vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7Cj xVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I 0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40E x7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7I2V7IY0VAS07AlzVAYIcxG8wCY1x0262kKe7AK xVWUAVWUtwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F4 0E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw1l IxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxV AFwI0_Jr0_Gr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j 6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU80fO7 UUUUU== X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-Stat-Signature: 9rpux68qjg3fbsw58ajwjspcjnwesy4u X-Rspam-User: X-Rspamd-Queue-Id: 6ABD840013 X-Rspamd-Server: rspam02 X-HE-Tag: 1731461085-464257 X-HE-Meta: U2FsdGVkX1/oJQ3CJ+8zreH1Pw7B7R6zlDqx2QnzyuBLhVJvCWpXsvZPxfXG6oaJoAKoLArwklmmk1elwj7t5HuSBGwfQj5QN3L+bAb86YtKLYz9o3/N6RGItsHJVEgRUZ7cUErL9wvQLUBf3ADwV5l+8MTqHqTP3tmc25YkjhPIhai9UAQ469VOYR2uh9Ql8uu3GvUN4LXAleZJy65Y1h3gTsAj6yuVcFKggMVzU9qA602e6dWfu80ShymDCI8fQ8ueqeAB3+VHsvkFjsfiXK0luUmvSXspvEfgKJxYNfDkiqrpds5nIyjvHfPYewHaM3su4s8Uy18PyKE5plb1GpHwTVObUwlRoesJkRVvefnfANYnQGWfCtP9Ol3OKYQ2v4eiXfiIW2Tw58wpqb/RBQLYQNZzMi8T+04GDh4sYg7vdyDAOpeaZ6cr4JNcY6bre9y9iL7ZsTc8zOD1vB53f9E6r7Gk5JOIjBd/66GezUTrfqPoANK+nxKfU5YZWbAQo6UluHEWahGPO/HbeFo0VI+noDSbjC05SRMEkBP85c8766yuZMnyXybQ30eLPuEiCdOW4kFWPZFvHV9oUW/+aZxCinTBXB1uQ188t7/f8kXYVLMSiMX6wtUQu1pnVw9ejmqHT1oGdfXtHBEEybxd+94KfF15LAL0Snze4b/e3doN5b0TW9Joh4R6MDppIiZz4Y+WFblbQNJF0GIv0uDSkrxluROpdpHxpDbXihNdv3cpoj3YWyYENeOrGqeREYsHTUi5bU6XfrLERPoBDsCrzzu+Xftr+CMCjGnczS+utPu1LRU4TkiyOVuI3MbocYKY83OY2mrBzfeu1shzc7NTv1xJQX9YbQU6nI3S/+TOJsY/2BPTCdQim3zLXipcQifYZRuCltwgLktbbsUc6yBF0uod+AwlpUK51qpha/amsqL69So2xccaV6JVRQop1mvqPdwKIPuQ5piHMxactip Jc3TJ5nM kIXQfRwlbM0OlYMaPEaV2mz9tSC1x3c8DmRwZHyNpDfy9duKkjPxL8jOtS4D+EgdteiN7aSHQiMTxgt9qx+wVwwJewSC/99o+VUCPM5HGBsGJGiaRrkCimbOWCQ== 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: on 11/12/2024 11:48 PM, Matthew Wilcox wrote: > On Tue, Nov 12, 2024 at 03:05:51PM +0800, Kemeng Shi wrote: >> Patch 1 fixes the issue that xas_find_marked() will return a sibling entry >> to users when there is a race to replace old entry with small range with >> a new entry with bigger range. The kernel will crash if users use returned >> sibling entry as a valid entry. >> For example, find_get_entry() will crash if it gets a sibling entry from >> xas_find_marked() when trying to search a writeback folios. > > You _think_ this can happen, or you've observed a crash where it _has_ > happened? I don't think it can happen due to the various locks we > have. I'm not opposed to including this patch, but I don't think it > can happen today.Sorry for confusion. As I mentioned at last email, we need to confirm if the trigger condition exists in real world of all three potential bug. Here, I want to describe the potential impact if the potential bug happens for some early input. > >> Patch 3 fixes the issue that xas_pause() may skip some entry unepxectedly >> after xas_load()(may be called in xas_for_each for first entry) loads a >> large entry with index point at mid of the entry. So we may miss to writeback >> some dirty page and lost user data. > > How do we lose user data? The inode will still contain dirty pages. > We might skip some pages we should not have skipped, but they'll be > caught by a subsequent pass, no? > After flush, users may expect dirty pages are in storage and are persistent. But if we miss to writeback some dirty pages and kernel is reboot after flush, then the data in un-written pages are last to users. I'm not sure if I miss something are. But again, we need to confirm if the trigger condition exists in real world. Thanks.