From 6791adca66c2ce0b42d4ecafb9aceca6082452ae Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 20 Sep 2022 15:20:33 +0200 Subject: [PATCH] drop queue-4.14/debugfs-add-debugfs_lookup_and_remove.patch Not needed there yet. --- ...ebugfs-add-debugfs_lookup_and_remove.patch | 87 ------------------- queue-4.14/series | 1 - 2 files changed, 88 deletions(-) delete mode 100644 queue-4.14/debugfs-add-debugfs_lookup_and_remove.patch diff --git a/queue-4.14/debugfs-add-debugfs_lookup_and_remove.patch b/queue-4.14/debugfs-add-debugfs_lookup_and_remove.patch deleted file mode 100644 index 367fd94ea09..00000000000 --- a/queue-4.14/debugfs-add-debugfs_lookup_and_remove.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 044233e644fd5568664b71907ba2ee48b4665e36 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 2 Sep 2022 16:59:15 +0200 -Subject: debugfs: add debugfs_lookup_and_remove() - -From: Greg Kroah-Hartman - -[ Upstream commit dec9b2f1e0455a151a7293c367da22ab973f713e ] - -There is a very common pattern of using -debugfs_remove(debufs_lookup(..)) which results in a dentry leak of the -dentry that was looked up. Instead of having to open-code the correct -pattern of calling dput() on the dentry, create -debugfs_lookup_and_remove() to handle this pattern automatically and -properly without any memory leaks. - -Cc: stable -Reported-by: Kuyo Chang -Tested-by: Kuyo Chang -Link: https://lore.kernel.org/r/YxIaQ8cSinDR881k@kroah.com -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Sasha Levin ---- - fs/debugfs/inode.c | 22 ++++++++++++++++++++++ - include/linux/debugfs.h | 6 ++++++ - 2 files changed, 28 insertions(+) - -diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c -index f4df6feec271..58175679eedd 100644 ---- a/fs/debugfs/inode.c -+++ b/fs/debugfs/inode.c -@@ -745,6 +745,28 @@ void debugfs_remove_recursive(struct dentry *dentry) - } - EXPORT_SYMBOL_GPL(debugfs_remove_recursive); - -+/** -+ * debugfs_lookup_and_remove - lookup a directory or file and recursively remove it -+ * @name: a pointer to a string containing the name of the item to look up. -+ * @parent: a pointer to the parent dentry of the item. -+ * -+ * This is the equlivant of doing something like -+ * debugfs_remove(debugfs_lookup(..)) but with the proper reference counting -+ * handled for the directory being looked up. -+ */ -+void debugfs_lookup_and_remove(const char *name, struct dentry *parent) -+{ -+ struct dentry *dentry; -+ -+ dentry = debugfs_lookup(name, parent); -+ if (!dentry) -+ return; -+ -+ debugfs_remove(dentry); -+ dput(dentry); -+} -+EXPORT_SYMBOL_GPL(debugfs_lookup_and_remove); -+ - /** - * debugfs_rename - rename a file/directory in the debugfs filesystem - * @old_dir: a pointer to the parent dentry for the renamed object. This -diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h -index 755033acd2b0..497aac2c20d6 100644 ---- a/include/linux/debugfs.h -+++ b/include/linux/debugfs.h -@@ -111,6 +111,8 @@ void debugfs_remove_recursive(struct dentry *dentry); - int debugfs_use_file_start(const struct dentry *dentry, int *srcu_idx) - __acquires(&debugfs_srcu); - -+void debugfs_lookup_and_remove(const char *name, struct dentry *parent); -+ - void debugfs_use_file_finish(int srcu_idx) __releases(&debugfs_srcu); - - ssize_t debugfs_attr_read(struct file *file, char __user *buf, -@@ -240,6 +242,10 @@ static inline void debugfs_remove(struct dentry *dentry) - static inline void debugfs_remove_recursive(struct dentry *dentry) - { } - -+static inline void debugfs_lookup_and_remove(const char *name, -+ struct dentry *parent) -+{ } -+ - static inline int debugfs_use_file_start(const struct dentry *dentry, - int *srcu_idx) - __acquires(&debugfs_srcu) --- -2.35.1 - diff --git a/queue-4.14/series b/queue-4.14/series index 867a6eae03c..a8275a5dc9d 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -4,4 +4,3 @@ drm-meson-correct-osd1-global-alpha-value.patch parisc-ccio-dma-add-missing-iounmap-in-error-path-in.patch efi-libstub-disable-shadow-call-stack.patch efi-libstub-disable-struct-randomization.patch -debugfs-add-debugfs_lookup_and_remove.patch -- 2.47.3