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 10A2AC5B543 for ; Fri, 6 Jun 2025 01:32:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7576E6B00C7; Thu, 5 Jun 2025 21:32:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6DFE96B00D4; Thu, 5 Jun 2025 21:32:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 580C46B00D5; Thu, 5 Jun 2025 21:32:05 -0400 (EDT) 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 380A76B00C7 for ; Thu, 5 Jun 2025 21:32:05 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id CD7BAA0219 for ; Fri, 6 Jun 2025 01:32:04 +0000 (UTC) X-FDA: 83523249768.28.C743077 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by imf17.hostedemail.com (Postfix) with ESMTP id 6ADA84000F for ; Fri, 6 Jun 2025 01:31:59 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf17.hostedemail.com: domain of shikemeng@huaweicloud.com designates 45.249.212.56 as permitted sender) smtp.mailfrom=shikemeng@huaweicloud.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749173522; 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=Kp8twVkmNhbv695zwwbo3+6C4HQ1X8q6XvjPbo0K0Mc=; b=L5hkCJ9meX8MoLnv1DLDNct4oi5RV7UGJcjE75XdIjhOCYFa5GVGHAKsRCv3o/bRfZDKu5 8YOSBKs1B/RRNeD/DUog4d9RsWcHJzXHhArzXq/cOAGxTOuq60fOxVH5YYp4tl/grMF8J+ AusfNDACzWhiKYJV5i+3YnWNehV8Nr0= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf17.hostedemail.com: domain of shikemeng@huaweicloud.com designates 45.249.212.56 as permitted sender) smtp.mailfrom=shikemeng@huaweicloud.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749173522; a=rsa-sha256; cv=none; b=6+L3Q7Tae2nCuwLmkJhBL596ZoUU4MHenULout3JUoW6lfLKgdES6IfjMwvdVxUINueg4w 9JMATdR6D+b8ms4+jOB4Zd3NDBDKnASDR+o9k8pMX4jM99ON1nILvGR1WmNINm0qNEoQ7N xSDUxQ3f6ITpWhxLq9btzYZq62n2Zgk= Received: from mail.maildlp.com (unknown [172.19.163.216]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTPS id 4bD3hD3gNjzKHN3X for ; Fri, 6 Jun 2025 09:31:56 +0800 (CST) Received: from mail02.huawei.com (unknown [10.116.40.75]) by mail.maildlp.com (Postfix) with ESMTP id D936D1A0194 for ; Fri, 6 Jun 2025 09:31:54 +0800 (CST) Received: from [10.174.99.169] (unknown [10.174.99.169]) by APP2 (Coremail) with SMTP id Syh0CgAXIGMJRUJoj9AWOg--.42789S2; Fri, 06 Jun 2025 09:31:54 +0800 (CST) Subject: Re: [PATCH 1/7] mm: shmem: correctly pass alloced parameter to shmem_recalc_inode() to avoid WARN_ON() From: Kemeng Shi To: Andrew Morton Cc: hughd@google.com, baolin.wang@linux.alibaba.com, willy@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org References: <20250605221037.7872-1-shikemeng@huaweicloud.com> <20250605221037.7872-2-shikemeng@huaweicloud.com> <20250605125724.d2e3db9c23af7627a53d8914@linux-foundation.org> <721923ac-4bb1-1b2b-fce5-9d957c535c97@huaweicloud.com> Message-ID: <46bcdc15-02d6-2113-98e6-0578361f125b@huaweicloud.com> Date: Fri, 6 Jun 2025 09:31:52 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 In-Reply-To: <721923ac-4bb1-1b2b-fce5-9d957c535c97@huaweicloud.com> Content-Type: text/plain; charset=gbk Content-Transfer-Encoding: 7bit X-CM-TRANSID:Syh0CgAXIGMJRUJoj9AWOg--.42789S2 X-Coremail-Antispam: 1UD129KBjvJXoW7Kr1DKF4fZF1fKr45AFyDAwb_yoW8Gry3pr y7AasYyFs7GryIkFn2qr97ur1Sga97GF40q3WrZr13Ca45Xr9rtF4jyry5u3W3C34xJw4Y vF1qkF9rXrW7XaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUvjb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k2 6cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4 vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7Cj xVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x 0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG 6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFV Cjc4AY6r1j6r4UM4x0Y48IcVAKI48JMxk0xIA0c2IEe2xFo4CEbIxvr21lc7CjxVAaw2AF wI0_JF0_Jw1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4 xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1D MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I 0E14v26r1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWU JVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUwx hLUUUUU X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 6ADA84000F X-Stat-Signature: 1sg7bg5ddb1iftrobdogyt7wsnum6cbn X-Rspam-User: X-HE-Tag: 1749173519-976366 X-HE-Meta: U2FsdGVkX185q5Pvj1bJe8VSqTjXuq9nMxRFHTxhWaqRN4sTDiXV4lQTiyE7N7K0jFQOI7nin9DN1HgpxrwprxvVy7oGAgKdIWLyJf+71lv+1avDMnUE/JRXfDo3r18BuACYxqui9cMrqWhtGncjzFHvKTB4VonfL2dZPwqlNxeN+yZF9Uvz6DNUr+D8VizRwM8L2HldOm9aabSXGTTfLOPe2zdLw9xVN/qUo6rogHCIY5rNsPPQPkjv8b7rP3TQ/7pn3vxP5G0gueBuq6b7m5Gvx8wSozYkE8n0nOxi/3nuuIthC0Y5xXkismCO8HURKlITLWTEEdYRyQuYHxt+JBPfVBWZNoWdCzDIlcpbq5jnVDJWDv9BXVK747vMOWf2rwilA0MlScXxd2LdRMZOx3Q5FKp2AbsN3AJX19M7+31n5b4NgADEgfFhkb7fN1ls4naXNRFWMTABKu0kWVBrIxUwr9VYhvEw8EtX5L9gyozC8YxmTpiNUw76b+9qQbJmUA+V0vUVKtqn39OtUL+kImc2fBS5zEjijNbv8zAZ1me3PEfjlqzoV7NiibHM2c6j/D7sjLCtAOW5vTu/4bwgcq+q+QnFML/5dQD2rt3ZZDB1hz59gq80PifHnyMBQkC5RgUkqDN/8+mj0fuKBdlIJceD8yJtKPAyDwBxTif2qDt8G0yEnnmI23QX6jUaWUYcF2vX+r51pgkktZ5/5BH1//pysYDPJnu1pjkv/4B7TO/woX93kjnvlHYNZ9ctpvRESHlEI5X8YJisqlHqu2zMPppcimGlR8aSR0ukGiFBab6+jjU7FqHyRikY9tvYCu0/o9TF3jZRU8a8ss8GUscfa5STq5NDCx9vlk0RhnANuiffDAhJS7rd4Y02eXGSim9fvYlTngsXF5ZoJY1uLzaehAvEfbkUUkp981Zx+HaKL0j2ecwb1JaW3DmizZNOX2l9ZUOv0AjZAUFrLYiV+lq clJuI2wM rfdORZQ4YvUNII3y7C2aP2Pa4jTk29FEnx+Jc7Htx/m2vfnFvhLA5x88hL6NyH1wfr8MjDl/nKi7OXA7M2KOlniboiG4CIfUIbwi/RCVZLm1NcwKYRlBohxnxTGvb1soPfBG7yEmsHPu6No3/genAe4kUxwjNW7olj33TtcaU56h0heE6TyhrUP5LL8EPskRqPqUs 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 6/6/2025 9:11 AM, Kemeng Shi wrote: > > > on 6/6/2025 3:57 AM, Andrew Morton wrote: >> On Fri, 6 Jun 2025 06:10:31 +0800 Kemeng Shi wrote: >> >>> As noted in the comments, we need to release block usage for swap entry >>> which was replaced with poisoned swap entry. However, no block usage is >>> actually freed by calling shmem_recalc_inode(inode, -nr_pages, -nr_pages). >>> Instead, call shmem_recalc_inode(inode, 0, -nr_pages) can correctly release >>> the block usage. >>> >>> ... >>> >>> --- a/mm/shmem.c >>> +++ b/mm/shmem.c >>> @@ -2145,7 +2145,7 @@ static void shmem_set_folio_swapin_error(struct inode *inode, pgoff_t index, >>> * won't be 0 when inode is released and thus trigger WARN_ON(i_blocks) >>> * in shmem_evict_inode(). >>> */ >>> - shmem_recalc_inode(inode, -nr_pages, -nr_pages); >>> + shmem_recalc_inode(inode, 0, -nr_pages); >>> swap_free_nr(swap, nr_pages); >>> } >> >> Huh, three years ago. What do we think might be the userspace-visible >> runtime effects of this? > This could trigger WARN_ON(i_blocks) in shmem_evict_inode() as i_blocks > is supposed to be dropped in the quota free routine. Besides, the leak of block usage will reduce the available space to user. As the amount of leakage accumulates over time, the available space may eventually be exhausted. >> >>