]> Git Repo - linux.git/commitdiff
Revert "debugfs: annotate debugfs handlers vs. removal with lockdep"
authorJohannes Berg <[email protected]>
Sat, 2 Dec 2023 10:49:37 +0000 (11:49 +0100)
committerGreg Kroah-Hartman <[email protected]>
Mon, 4 Dec 2023 06:43:16 +0000 (07:43 +0100)
This reverts commit f4acfcd4deb1 ("debugfs: annotate debugfs handlers
vs. removal with lockdep"), it appears to have false positives and
really shouldn't have been in the -rc series with the fixes anyway.

Signed-off-by: Johannes Berg <[email protected]>
Link: https://lore.kernel.org/r/20231202114936.fd55431ab160.I911aa53abeeca138126f690d383a89b13eb05667@changeid
Signed-off-by: Greg Kroah-Hartman <[email protected]>
fs/debugfs/file.c
fs/debugfs/inode.c
fs/debugfs/internal.h

index a5ade8c163754bf09036d81eff378f3ff5c545cd..5063434be0fc839d844f3d23810caa6d359bb350 100644 (file)
@@ -108,12 +108,6 @@ int debugfs_file_get(struct dentry *dentry)
                        kfree(fsd);
                        fsd = READ_ONCE(dentry->d_fsdata);
                }
-#ifdef CONFIG_LOCKDEP
-               fsd->lock_name = kasprintf(GFP_KERNEL, "debugfs:%pd", dentry);
-               lockdep_register_key(&fsd->key);
-               lockdep_init_map(&fsd->lockdep_map, fsd->lock_name ?: "debugfs",
-                                &fsd->key, 0);
-#endif
                INIT_LIST_HEAD(&fsd->cancellations);
                mutex_init(&fsd->cancellations_mtx);
        }
@@ -132,8 +126,6 @@ int debugfs_file_get(struct dentry *dentry)
        if (!refcount_inc_not_zero(&fsd->active_users))
                return -EIO;
 
-       lock_map_acquire_read(&fsd->lockdep_map);
-
        return 0;
 }
 EXPORT_SYMBOL_GPL(debugfs_file_get);
@@ -151,8 +143,6 @@ void debugfs_file_put(struct dentry *dentry)
 {
        struct debugfs_fsdata *fsd = READ_ONCE(dentry->d_fsdata);
 
-       lock_map_release(&fsd->lockdep_map);
-
        if (refcount_dec_and_test(&fsd->active_users))
                complete(&fsd->active_users_drained);
 }
index e4e7fe1bd9fbfaa316364404a3dcfe1cd9961bfe..034a617cb1a5e777d5e254bd3aa81b368c566ed2 100644 (file)
@@ -243,10 +243,6 @@ static void debugfs_release_dentry(struct dentry *dentry)
 
        /* check it wasn't a dir (no fsdata) or automount (no real_fops) */
        if (fsd && fsd->real_fops) {
-#ifdef CONFIG_LOCKDEP
-               lockdep_unregister_key(&fsd->key);
-               kfree(fsd->lock_name);
-#endif
                WARN_ON(!list_empty(&fsd->cancellations));
                mutex_destroy(&fsd->cancellations_mtx);
        }
@@ -755,9 +751,6 @@ static void __debugfs_file_removed(struct dentry *dentry)
        if ((unsigned long)fsd & DEBUGFS_FSDATA_IS_REAL_FOPS_BIT)
                return;
 
-       lock_map_acquire(&fsd->lockdep_map);
-       lock_map_release(&fsd->lockdep_map);
-
        /* if we hit zero, just wait for all to finish */
        if (!refcount_dec_and_test(&fsd->active_users)) {
                wait_for_completion(&fsd->active_users_drained);
index 0c4c68cf161f8742cf25c072291a26095e35f74e..dae80c2a469ed0da1ae864ae426cedd2efbb6368 100644 (file)
@@ -7,7 +7,6 @@
 
 #ifndef _DEBUGFS_INTERNAL_H_
 #define _DEBUGFS_INTERNAL_H_
-#include <linux/lockdep.h>
 #include <linux/list.h>
 
 struct file_operations;
@@ -25,11 +24,6 @@ struct debugfs_fsdata {
                struct {
                        refcount_t active_users;
                        struct completion active_users_drained;
-#ifdef CONFIG_LOCKDEP
-                       struct lockdep_map lockdep_map;
-                       struct lock_class_key key;
-                       char *lock_name;
-#endif
 
                        /* protect cancellations */
                        struct mutex cancellations_mtx;
This page took 0.067299 seconds and 4 git commands to generate.