]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop kobject-make-sure-the-parent-does-not-get-released-b.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 16 Jun 2020 17:12:13 +0000 (19:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 16 Jun 2020 17:12:13 +0000 (19:12 +0200)
queue-5.4/kobject-make-sure-the-parent-does-not-get-released-b.patch [deleted file]
queue-5.4/series
queue-5.6/kobject-make-sure-the-parent-does-not-get-released-b.patch [deleted file]
queue-5.6/series

diff --git a/queue-5.4/kobject-make-sure-the-parent-does-not-get-released-b.patch b/queue-5.4/kobject-make-sure-the-parent-does-not-get-released-b.patch
deleted file mode 100644 (file)
index 8121ad3..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-From 9d16e39bb459e6736a777fdce8cd2b1d4be1ccbf Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 May 2020 18:18:40 +0300
-Subject: kobject: Make sure the parent does not get released before its
- children
-
-From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-
-[ Upstream commit 4ef12f7198023c09ad6d25b652bd8748c965c7fa ]
-
-In the function kobject_cleanup(), kobject_del(kobj) is
-called before the kobj->release(). That makes it possible to
-release the parent of the kobject before the kobject itself.
-
-To fix that, adding function __kboject_del() that does
-everything that kobject_del() does except release the parent
-reference. kobject_cleanup() then calls __kobject_del()
-instead of kobject_del(), and separately decrements the
-reference count of the parent kobject after kobj->release()
-has been called.
-
-Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
-Reported-by: kernel test robot <rong.a.chen@intel.com>
-Fixes: 7589238a8cf3 ("Revert "software node: Simplify software_node_release() function"")
-Suggested-by: "Rafael J. Wysocki" <rafael@kernel.org>
-Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
-Tested-by: Brendan Higgins <brendanhiggins@google.com>
-Acked-by: Randy Dunlap <rdunlap@infradead.org>
-Link: https://lore.kernel.org/r/20200513151840.36400-1-heikki.krogerus@linux.intel.com
-Cc: stable <stable@vger.kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- lib/kobject.c | 30 ++++++++++++++++++++----------
- 1 file changed, 20 insertions(+), 10 deletions(-)
-
-diff --git a/lib/kobject.c b/lib/kobject.c
-index 83198cb37d8d..2bd631460e18 100644
---- a/lib/kobject.c
-+++ b/lib/kobject.c
-@@ -599,14 +599,7 @@ int kobject_move(struct kobject *kobj, struct kobject *new_parent)
- }
- EXPORT_SYMBOL_GPL(kobject_move);
--/**
-- * kobject_del() - Unlink kobject from hierarchy.
-- * @kobj: object.
-- *
-- * This is the function that should be called to delete an object
-- * successfully added via kobject_add().
-- */
--void kobject_del(struct kobject *kobj)
-+static void __kobject_del(struct kobject *kobj)
- {
-       struct kernfs_node *sd;
-       const struct kobj_type *ktype;
-@@ -625,9 +618,23 @@ void kobject_del(struct kobject *kobj)
-       kobj->state_in_sysfs = 0;
-       kobj_kset_leave(kobj);
--      kobject_put(kobj->parent);
-       kobj->parent = NULL;
- }
-+
-+/**
-+ * kobject_del() - Unlink kobject from hierarchy.
-+ * @kobj: object.
-+ *
-+ * This is the function that should be called to delete an object
-+ * successfully added via kobject_add().
-+ */
-+void kobject_del(struct kobject *kobj)
-+{
-+      struct kobject *parent = kobj->parent;
-+
-+      __kobject_del(kobj);
-+      kobject_put(parent);
-+}
- EXPORT_SYMBOL(kobject_del);
- /**
-@@ -663,6 +670,7 @@ EXPORT_SYMBOL(kobject_get_unless_zero);
-  */
- static void kobject_cleanup(struct kobject *kobj)
- {
-+      struct kobject *parent = kobj->parent;
-       struct kobj_type *t = get_ktype(kobj);
-       const char *name = kobj->name;
-@@ -684,7 +692,7 @@ static void kobject_cleanup(struct kobject *kobj)
-       if (kobj->state_in_sysfs) {
-               pr_debug("kobject: '%s' (%p): auto cleanup kobject_del\n",
-                        kobject_name(kobj), kobj);
--              kobject_del(kobj);
-+              __kobject_del(kobj);
-       }
-       if (t && t->release) {
-@@ -698,6 +706,8 @@ static void kobject_cleanup(struct kobject *kobj)
-               pr_debug("kobject: '%s': free name\n", name);
-               kfree_const(name);
-       }
-+
-+      kobject_put(parent);
- }
- #ifdef CONFIG_DEBUG_KOBJECT_RELEASE
--- 
-2.25.1
-
index 8bf93916d9ff716ceff7dfa0002ab0d3089023ce..dd9feb1aff63468081b4e6929ccef7d556592cbc 100644 (file)
@@ -25,7 +25,6 @@ s390-pci-log-new-handle-in-clp_disable_fh.patch
 x86-cpu-amd-make-erratum-1054-a-legacy-erratum.patch
 kvm-x86-only-do-l1tf-workaround-on-affected-processo.patch
 pci-pm-adjust-pcie_wait_for_link_delay-for-caller-de.patch
-kobject-make-sure-the-parent-does-not-get-released-b.patch
 perf-probe-accept-the-instance-number-of-kretprobe-e.patch
 mm-add-kvfree_sensitive-for-freeing-sensitive-data-o.patch
 selftests-fix-flower-parent-qdisc.patch
diff --git a/queue-5.6/kobject-make-sure-the-parent-does-not-get-released-b.patch b/queue-5.6/kobject-make-sure-the-parent-does-not-get-released-b.patch
deleted file mode 100644 (file)
index 748cd51..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-From 985789e2caed2b3b7facc9f8c7dfde8a6ab7666f Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 May 2020 18:18:40 +0300
-Subject: kobject: Make sure the parent does not get released before its
- children
-
-From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-
-[ Upstream commit 4ef12f7198023c09ad6d25b652bd8748c965c7fa ]
-
-In the function kobject_cleanup(), kobject_del(kobj) is
-called before the kobj->release(). That makes it possible to
-release the parent of the kobject before the kobject itself.
-
-To fix that, adding function __kboject_del() that does
-everything that kobject_del() does except release the parent
-reference. kobject_cleanup() then calls __kobject_del()
-instead of kobject_del(), and separately decrements the
-reference count of the parent kobject after kobj->release()
-has been called.
-
-Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
-Reported-by: kernel test robot <rong.a.chen@intel.com>
-Fixes: 7589238a8cf3 ("Revert "software node: Simplify software_node_release() function"")
-Suggested-by: "Rafael J. Wysocki" <rafael@kernel.org>
-Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
-Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
-Tested-by: Brendan Higgins <brendanhiggins@google.com>
-Acked-by: Randy Dunlap <rdunlap@infradead.org>
-Link: https://lore.kernel.org/r/20200513151840.36400-1-heikki.krogerus@linux.intel.com
-Cc: stable <stable@vger.kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- lib/kobject.c | 30 ++++++++++++++++++++----------
- 1 file changed, 20 insertions(+), 10 deletions(-)
-
-diff --git a/lib/kobject.c b/lib/kobject.c
-index 83198cb37d8d..2bd631460e18 100644
---- a/lib/kobject.c
-+++ b/lib/kobject.c
-@@ -599,14 +599,7 @@ int kobject_move(struct kobject *kobj, struct kobject *new_parent)
- }
- EXPORT_SYMBOL_GPL(kobject_move);
--/**
-- * kobject_del() - Unlink kobject from hierarchy.
-- * @kobj: object.
-- *
-- * This is the function that should be called to delete an object
-- * successfully added via kobject_add().
-- */
--void kobject_del(struct kobject *kobj)
-+static void __kobject_del(struct kobject *kobj)
- {
-       struct kernfs_node *sd;
-       const struct kobj_type *ktype;
-@@ -625,9 +618,23 @@ void kobject_del(struct kobject *kobj)
-       kobj->state_in_sysfs = 0;
-       kobj_kset_leave(kobj);
--      kobject_put(kobj->parent);
-       kobj->parent = NULL;
- }
-+
-+/**
-+ * kobject_del() - Unlink kobject from hierarchy.
-+ * @kobj: object.
-+ *
-+ * This is the function that should be called to delete an object
-+ * successfully added via kobject_add().
-+ */
-+void kobject_del(struct kobject *kobj)
-+{
-+      struct kobject *parent = kobj->parent;
-+
-+      __kobject_del(kobj);
-+      kobject_put(parent);
-+}
- EXPORT_SYMBOL(kobject_del);
- /**
-@@ -663,6 +670,7 @@ EXPORT_SYMBOL(kobject_get_unless_zero);
-  */
- static void kobject_cleanup(struct kobject *kobj)
- {
-+      struct kobject *parent = kobj->parent;
-       struct kobj_type *t = get_ktype(kobj);
-       const char *name = kobj->name;
-@@ -684,7 +692,7 @@ static void kobject_cleanup(struct kobject *kobj)
-       if (kobj->state_in_sysfs) {
-               pr_debug("kobject: '%s' (%p): auto cleanup kobject_del\n",
-                        kobject_name(kobj), kobj);
--              kobject_del(kobj);
-+              __kobject_del(kobj);
-       }
-       if (t && t->release) {
-@@ -698,6 +706,8 @@ static void kobject_cleanup(struct kobject *kobj)
-               pr_debug("kobject: '%s': free name\n", name);
-               kfree_const(name);
-       }
-+
-+      kobject_put(parent);
- }
- #ifdef CONFIG_DEBUG_KOBJECT_RELEASE
--- 
-2.25.1
-
index 9b624887b5456284447b71d3a066ad2cb9ba1c0e..8bcba697a1d48e21ab8f45aa8d494760a04377a0 100644 (file)
@@ -38,7 +38,6 @@ s390-pci-log-new-handle-in-clp_disable_fh.patch
 x86-cpu-amd-make-erratum-1054-a-legacy-erratum.patch
 kvm-x86-only-do-l1tf-workaround-on-affected-processo.patch
 pci-pm-adjust-pcie_wait_for_link_delay-for-caller-de.patch
-kobject-make-sure-the-parent-does-not-get-released-b.patch
 scsi-target-remove-boilerplate-code.patch
 scsi-target-fix-hang-when-multiple-threads-try-to-de.patch
 drm-amd-display-remove-invalid-dc_is_hw_initialized-.patch