On 2026/3/5 09:52, Shinichiro Kawasaki wrote:
On Mar 05, 2026 / 09:38, Chao Yu wrote:
On 2026/3/4 16:55, Chao Yu wrote:
On 2026/3/4 12:57, Shinichiro Kawasaki wrote:
[...]
I will seek out other ways to avoid the lockdep. I have no idea how to do that
at this moment, though.
Shinichiro,
IMO, this looks like a false alarm of lockdep, what do you think of this fix?
https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?h=bugfix/syzbot&id=3b19564b95e9ba9803ef30e90eace0977b9d140d
---
fs/f2fs/f2fs.h | 3 +++
fs/f2fs/super.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index bb34e864d0ef..5b400e99f332 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -2042,6 +2042,9 @@ struct f2fs_sb_info {
spinlock_t iostat_lat_lock;
struct iostat_lat_info *iostat_io_lat;
#endif
+#ifdef CONFIG_DEBUG_LOCK_ALLOC
+ struct lock_class_key cp_global_sem_key;
+#endif
};
/* Definitions to access f2fs_sb_info */
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 8774c60b4be4..9e85f31fa828 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -4948,6 +4948,9 @@ static int f2fs_fill_super(struct super_block *sb, struct
fs_context *fc)
init_f2fs_rwsem_trace(&sbi->gc_lock, sbi, LOCK_NAME_GC_LOCK);
mutex_init(&sbi->writepages);
init_f2fs_rwsem_trace(&sbi->cp_global_sem, sbi, LOCK_NAME_CP_GLOBAL);
+#ifdef CONFIG_DEBUG_LOCK_ALLOC
+ lockdep_set_class(&sbi->cp_global_sem, &sbi->cp_global_sem_key);
Sorry, should be:
+ lockdep_set_class(&sbi->cp_global_sem.internal_rwsem,
+ &sbi->cp_global_sem_key);
Thanks,
Chao, thank you very much for the idea and the trial patch! I will try it out.
Let me have a day or two.
Thanks Shinichiro!
Updated link as below which includes compile error fix.
https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?h=bugfix/syzbot&id=ef20840493da6cb26bb910a73c46413a17ea58e7
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel