From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out203-205-221-235.mail.qq.com (out203-205-221-235.mail.qq.com [203.205.221.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07BFB338F5E for ; Fri, 9 Jan 2026 10:49:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.205.221.235 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767955780; cv=none; b=EoyuE2bYPIUVgzzvTTAxeqapZwxgcYqgF4+qpWEreNAjFuYN0DJCZTMwtgfznze4zHYapQJhzC/7evrEfmBd4kAMsI5fR7VdEfetWJDX0E6zqrswIKRG5LHQEe+WT6HepWluGp0qxl9pNBVoK5Fu0orz7sFP/93w1SIXXnjcMDc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767955780; c=relaxed/simple; bh=FSxXTaTDoP+Vo0fPlem5Y8yKt7Hyql+XGitM7n8KWKc=; h=Message-ID:From:To:Cc:Subject:Date:In-Reply-To:References: MIME-Version; b=kFFuVjj7/AgV/AxxjSkLqY6e62wyuJxx6TxbFiGRBQs2PBFUtLuhP3PURiUDnv2ZFZ1XrlTLWqV0U/XzMN/OJqL9XuUoXAJpM+LI0RoRaVUVzNSjSJVNePPhvunaQWOpct9+YSqPGj8gIWLbGZY5GopHp41RyoHDIBPZPN/LJkU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com; spf=pass smtp.mailfrom=qq.com; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b=L9rchOPc; arc=none smtp.client-ip=203.205.221.235 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=qq.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b="L9rchOPc" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1767955768; bh=3yhTYavfQ0yGHpn/Ic13wPZ16rmrxxcaw7nGBcaneIE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=L9rchOPcJm+1S2jUGg5PiS3US9AL5G5b7HuNKwtdZ7HT7p3k8+NUUa0hDPl557MZh ROHfnhoynCRd2JuF3Ln8YYInLqaeXjxoVKmYNQ3u8alEOwnYtyTw1OIL5gEAFrIVGa uppTJdhZlcvUDhe5lxuI/iqL1Mi3yYDBCioUnm7Q= Received: from lxu-ped-host.. ([114.244.57.24]) by newxmesmtplogicsvrszc41-0.qq.com (NewEsmtp) with SMTP id C5AB4824; Fri, 09 Jan 2026 18:49:26 +0800 X-QQ-mid: xmsmtpt1767955766t24lk1bfx Message-ID: X-QQ-XMAILINFO: NT7dO8ok7FP2bfNrGe34lp/mJG0qLobbMIH2Tae2PLRmAX1EbETGDzRToSWdgA xdT0zu4BNaMtohW/OkZNQIBpTKmjs3tOSRBmE9Q0eJBE1OaPFoCCBoX6gyvAWKXr/9PCqw0eMdpQ bC90ePIl5uv3inNGbBEg3wtK0txwSNE7yQrWgLRguFefr/UsEB5LqOrArKajybzDriqwtGN1luf2 1O7ZgcuSAOO6XLCw91XWldmQ6CcKDMNPLqwYI+7yn35km6X8l2l7XnN3ekEJXuV91X763a7Jievd 6CyD/LRc5GmyYDryICDA6kfVgR7Wb08b+xIt4qCS3Tber34dFjpT0nk0nTvZp/u41wueaHZDMB+o X1wzSa4yz2nz/uSy7cWzlVgthcrAMWBFZTLs+UXAbWeAZeKygROmHizz4FRzQ8lv6rCRVCUSG9E4 mGxhKAMj9mvHfXW9yj4spMd6m7ZOJ2+MguuHgYYsTH5689nG3D7F7iINhjNOr8BC012mh07igkdz Qjno1BdyR0/t8l9T5xCPWKLHZy6BRB2Di4hhr9ma3FGAu2F9RBoYtzjPqefFOcf1FAZk7+WD/f8U hii73Xd/nXM3kLYBi7DiyQDs/bq/s0LFdvIO6UgNwQEnFzHqvj8DgVVPQWxgox+Z0O/N8iproI8F cbdud00bFE5B70iOXMreM1fr4zTJWrs9C0mIw9TzaSX3yCABuwEaorx0+8ciNsaN1BDA5+bcmFLE tqyD9eza1kfAsRzKXELPNwlxbWaAH+qqurOnjx60LsP/SSeP5ilyTHRbLFIW363LnuF0PsejE/AN G88+3BVwP587KouUx28DxftlHqXQaxxvlc1xct+mpPJyikD8upPlQhqnQSFbPxPMn/J2dyD45OfJ B4+qzCDbOu/DXt8YnBBKdAfJNULl3EGoa6NMSCFgmZIWB6bvm363HeWuOLTWxf3bG5jKBvdyi/3v OaObex9fnCfZ43uVnK6tV5Ezy0i3KhlGW6SuX72yjT0s7RrgJWSQ== X-QQ-XMRINFO: NI4Ajvh11aEjEMj13RCX7UuhPEoou2bs1g== From: Edward Adam Davis To: syzbot+b4a2af3000eaa84d95d5@syzkaller.appspotmail.com Cc: linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com Subject: Re: [syzbot] [btrfs?] general protection fault in create_empty_buffers (5) Date: Fri, 9 Jan 2026 18:49:27 +0800 X-OQ-MSGID: <20260109104926.552258-2-eadavis@qq.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <695faa63.050a0220.1c677c.039b.GAE@google.com> References: <695faa63.050a0220.1c677c.039b.GAE@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit #syz test diff --git a/mm/filemap.c b/mm/filemap.c index ebd75684cb0a..9044a4087ce5 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -4048,17 +4048,22 @@ EXPORT_SYMBOL(generic_file_readonly_mmap_prepare); static struct folio *do_read_cache_folio(struct address_space *mapping, pgoff_t index, filler_t filler, struct file *file, gfp_t gfp) { + struct inode *inode = mapping->host; struct folio *folio; int err; if (!filler) filler = mapping->a_ops->read_folio; + inode_lock(inode); repeat: folio = filemap_get_folio(mapping, index); if (IS_ERR(folio)) { folio = filemap_alloc_folio(gfp, mapping_min_folio_order(mapping), NULL); - if (!folio) + if (!folio) { + inode_unlock(inode); return ERR_PTR(-ENOMEM); + } + index = mapping_align_index(mapping, index); err = filemap_add_folio(mapping, folio, index, gfp); if (unlikely(err)) { @@ -4066,13 +4071,16 @@ static struct folio *do_read_cache_folio(struct address_space *mapping, if (err == -EEXIST) goto repeat; /* Presumably ENOMEM for xarray node */ + inode_unlock(inode); return ERR_PTR(err); } goto filler; } - if (folio_test_uptodate(folio)) + if (folio_test_uptodate(folio)) { + inode_unlock(inode); goto out; + } if (!folio_trylock(folio)) { folio_put_wait_locked(folio, TASK_UNINTERRUPTIBLE); @@ -4089,11 +4097,13 @@ static struct folio *do_read_cache_folio(struct address_space *mapping, /* Someone else locked and filled the page in a very small window */ if (folio_test_uptodate(folio)) { folio_unlock(folio); + inode_unlock(inode); goto out; } filler: err = filemap_read_folio(file, filler, folio); + inode_unlock(inode); if (err) { folio_put(folio); if (err == AOP_TRUNCATED_PAGE)