[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <76837be2-1938-46c2-b0f2-9644eb8ac30f@oracle.com>
Date: Fri, 11 Jul 2025 15:18:31 -0500
From: Dave Kleikamp <dave.kleikamp@...cle.com>
To: Lizhi Xu <lizhi.xu@...driver.com>,
syzbot+6e516bb515d93230bc7b@...kaller.appspotmail.com
Cc: shaggy@...nel.org, jfs-discussion@...ts.sourceforge.net,
syzkaller-bugs@...glegroups.com, linux-kernel@...r.kernel.org
Subject: Re: [Jfs-discussion] [PATCH] jfs: truncate good inode pages when hard
link is 0
On 6/12/25 10:05PM, Lizhi Xu via Jfs-discussion wrote:
> The fileset value of the inode copy from the disk by the reproducer is
> AGGR_RESERVED_I. When executing evict, its hard link number is 0, so its
> inode pages are not truncated. This causes the bugon to be triggered when
> executing clear_inode() because nrpages is greater than 0.
Looks good. I'll apply and test this.
Thanks,
Shaggy
>
> Reported-by: syzbot+6e516bb515d93230bc7b@...kaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=6e516bb515d93230bc7b
> Signed-off-by: Lizhi Xu <lizhi.xu@...driver.com>
> ---
> fs/jfs/inode.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
> index 60fc92dee24d..81e6b18e81e1 100644
> --- a/fs/jfs/inode.c
> +++ b/fs/jfs/inode.c
> @@ -145,9 +145,9 @@ void jfs_evict_inode(struct inode *inode)
> if (!inode->i_nlink && !is_bad_inode(inode)) {
> dquot_initialize(inode);
>
> + truncate_inode_pages_final(&inode->i_data);
> if (JFS_IP(inode)->fileset == FILESYSTEM_I) {
> struct inode *ipimap = JFS_SBI(inode->i_sb)->ipimap;
> - truncate_inode_pages_final(&inode->i_data);
>
> if (test_cflag(COMMIT_Freewmap, inode))
> jfs_free_zero_link(inode);
Powered by blists - more mailing lists