Blob Blame History Raw
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);