lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ