From: Nicolai Stange <nstange@suse.de>
Patch-mainline: Never, kABI
Subject: kABI: restore debugfs_remove_recursive()
References: bsc#1159198
Upstream commit a3d1e7eb5abe ("simple_recursive_removal(): kernel-side
rm -rf for ramfs-style filesystems"), imported as
patches.suse/simple_recursive_removal-kernel-side-rm-rf-for-ramfs.patch,
removed the definition of debugfs_remove_recursive() and made it a #define
to debugfs_remove() instead. However, debugfs_remove_recursive() had been
EXPORTed and thus, needs to be retained in order to not break kABI.
Drop the debugfs_remove_recursive() #define again and implement
debugfs_remove_recursive() as a forwarding wrapper around debugfs_remove().
Signed-off-by: Nicolai Stange <nstange@suse.de>
---
fs/debugfs/inode.c | 7 +++++++
include/linux/debugfs.h | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
--- a/fs/debugfs/inode.c
+++ b/fs/debugfs/inode.c
@@ -727,6 +727,13 @@ void debugfs_remove(struct dentry *dentr
}
EXPORT_SYMBOL_GPL(debugfs_remove);
+/* kABI compatibility wrapper */
+void debugfs_remove_recursive(struct dentry *dentry)
+{
+ debugfs_remove(dentry);
+}
+EXPORT_SYMBOL_GPL(debugfs_remove_recursive);
+
/**
* debugfs_rename - rename a file/directory in the debugfs filesystem
* @old_dir: a pointer to the parent dentry for the renamed object. This
--- a/include/linux/debugfs.h
+++ b/include/linux/debugfs.h
@@ -85,7 +85,7 @@ struct dentry *debugfs_create_automount(
void *data);
void debugfs_remove(struct dentry *dentry);
-#define debugfs_remove_recursive debugfs_remove
+void debugfs_remove_recursive(struct dentry *dentry);
const struct file_operations *debugfs_real_fops(const struct file *filp);