[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260121150211.82216-1-activprithvi@gmail.com>
Date: Wed, 21 Jan 2026 20:32:11 +0530
From: Prithvi Tambewagh <activprithvi@...il.com>
To: syzbot+f6e8174215573a84b797@...kaller.appspotmail.com
Cc: linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
syzkaller-bugs@...glegroups.com,
Prithvi Tambewagh <activprithvi@...il.com>
Subject: Testing for v2: configfs: add lock class key to struct configfs_fragment for frag_sem
#syz test upstream 3a8660878839faadb4f1a6dd72c3179c1df56787
Signed-off-by: Prithvi Tambewagh <activprithvi@...il.com>
---
fs/configfs/configfs_internal.h | 1 +
fs/configfs/dir.c | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/configfs/configfs_internal.h b/fs/configfs/configfs_internal.h
index 0b969d0eb8ff..15bcde6c878b 100644
--- a/fs/configfs/configfs_internal.h
+++ b/fs/configfs/configfs_internal.h
@@ -21,6 +21,7 @@
struct configfs_fragment {
atomic_t frag_count;
struct rw_semaphore frag_sem;
+ struct lock_class_key frag_sem_key;
bool frag_dead;
};
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c
index 81f4f06bc87e..10c76cef88c9 100644
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
@@ -163,6 +163,8 @@ static struct configfs_fragment *new_fragment(void)
if (p) {
atomic_set(&p->frag_count, 1);
init_rwsem(&p->frag_sem);
+ lockdep_register_key(&p->frag_sem_key);
+ lockdep_set_class(&p->frag_sem, &p->frag_sem_key);
p->frag_dead = false;
}
return p;
@@ -170,8 +172,10 @@ static struct configfs_fragment *new_fragment(void)
void put_fragment(struct configfs_fragment *frag)
{
- if (frag && atomic_dec_and_test(&frag->frag_count))
+ if (frag && atomic_dec_and_test(&frag->frag_count)) {
+ lockdep_unregister_key(&frag->frag_sem_key);
kfree(frag);
+ }
}
struct configfs_fragment *get_fragment(struct configfs_fragment *frag)
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
--
2.34.1
Powered by blists - more mailing lists