[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aXJW6jWKqi0bfagi@chandna.localdomain>
Date: Thu, 22 Jan 2026 22:27:14 +0530
From: Sahil Chandna <chandna.sahil@...il.com>
To: syzbot <syzbot+bcfb99c4698edf7a1f52@...kaller.appspotmail.com>
Cc: jack@...e.com, linux-kernel@...r.kernel.org,
syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [udf?] WARNING: bad unlock balance in
__wait_on_freeing_inode
#syz test
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -2521,14 +2521,18 @@ static void __wait_on_freeing_inode(struct inode *inode, bool is_inode_hash_lock
wq_head = inode_bit_waitqueue(&wqe, inode, __I_NEW);
prepare_to_wait_event(wq_head, &wqe.wq_entry, TASK_UNINTERRUPTIBLE);
spin_unlock(&inode->i_lock);
- rcu_read_unlock();
+ if (rcu_read_lock_any_held())
+ rcu_read_unlock();
+
if (is_inode_hash_locked)
spin_unlock(&inode_hash_lock);
schedule();
finish_wait(wq_head, &wqe.wq_entry);
if (is_inode_hash_locked)
spin_lock(&inode_hash_lock);
- rcu_read_lock();
+
+ if (rcu_read_lock_any_held())
+ rcu_read_lock();
}
static __initdata unsigned long ihash_entries;
--
Powered by blists - more mailing lists