mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-03 18:20:25 +02:00 
			
		
		
		
	This reverts commit f4acfcd4de ("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 <johannes.berg@intel.com>
Link: https://lore.kernel.org/r/20231202114936.fd55431ab160.I911aa53abeeca138126f690d383a89b13eb05667@changeid
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
	
			
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
/*
 | 
						|
 *  internal.h - declarations internal to debugfs
 | 
						|
 *
 | 
						|
 *  Copyright (C) 2016 Nicolai Stange <nicstange@gmail.com>
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _DEBUGFS_INTERNAL_H_
 | 
						|
#define _DEBUGFS_INTERNAL_H_
 | 
						|
#include <linux/list.h>
 | 
						|
 | 
						|
struct file_operations;
 | 
						|
 | 
						|
/* declared over in file.c */
 | 
						|
extern const struct file_operations debugfs_noop_file_operations;
 | 
						|
extern const struct file_operations debugfs_open_proxy_file_operations;
 | 
						|
extern const struct file_operations debugfs_full_proxy_file_operations;
 | 
						|
 | 
						|
struct debugfs_fsdata {
 | 
						|
	const struct file_operations *real_fops;
 | 
						|
	union {
 | 
						|
		/* automount_fn is used when real_fops is NULL */
 | 
						|
		debugfs_automount_t automount;
 | 
						|
		struct {
 | 
						|
			refcount_t active_users;
 | 
						|
			struct completion active_users_drained;
 | 
						|
 | 
						|
			/* protect cancellations */
 | 
						|
			struct mutex cancellations_mtx;
 | 
						|
			struct list_head cancellations;
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
/*
 | 
						|
 * A dentry's ->d_fsdata either points to the real fops or to a
 | 
						|
 * dynamically allocated debugfs_fsdata instance.
 | 
						|
 * In order to distinguish between these two cases, a real fops
 | 
						|
 * pointer gets its lowest bit set.
 | 
						|
 */
 | 
						|
#define DEBUGFS_FSDATA_IS_REAL_FOPS_BIT BIT(0)
 | 
						|
 | 
						|
/* Access BITS */
 | 
						|
#define DEBUGFS_ALLOW_API	BIT(0)
 | 
						|
#define DEBUGFS_ALLOW_MOUNT	BIT(1)
 | 
						|
 | 
						|
#ifdef CONFIG_DEBUG_FS_ALLOW_ALL
 | 
						|
#define DEFAULT_DEBUGFS_ALLOW_BITS (DEBUGFS_ALLOW_MOUNT | DEBUGFS_ALLOW_API)
 | 
						|
#endif
 | 
						|
#ifdef CONFIG_DEBUG_FS_DISALLOW_MOUNT
 | 
						|
#define DEFAULT_DEBUGFS_ALLOW_BITS (DEBUGFS_ALLOW_API)
 | 
						|
#endif
 | 
						|
#ifdef CONFIG_DEBUG_FS_ALLOW_NONE
 | 
						|
#define DEFAULT_DEBUGFS_ALLOW_BITS (0)
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* _DEBUGFS_INTERNAL_H_ */
 |