diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1468-drm-amdkfd-Fix-memory-leaks-in-kfd-topology.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1468-drm-amdkfd-Fix-memory-leaks-in-kfd-topology.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1468-drm-amdkfd-Fix-memory-leaks-in-kfd-topology.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1468-drm-amdkfd-Fix-memory-leaks-in-kfd-topology.patch deleted file mode 100644 index 695f388b..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1468-drm-amdkfd-Fix-memory-leaks-in-kfd-topology.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 4c5e52b7449df7f99d90874bb88a6a70911572d1 Mon Sep 17 00:00:00 2001 -From: Yong Zhao <yong.zhao@amd.com> -Date: Wed, 29 Jun 2016 14:02:09 -0400 -Subject: [PATCH 1468/4131] drm/amdkfd: Fix memory leaks in kfd topology - -Kobject created using kobject_create_and_add() can be freed using -kobject_put() when there is no referenece any more. However, -kobject memory allocated with kzalloc() has to set up a release -callback in order to free it when the counter decreases to 0. -Otherwise it causes memory leak. - -Change-Id: I824d93283100141b44e41d5d12b513d32d0396a4 -Signed-off-by: Yong Zhao <yong.zhao@amd.com> ---- - drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c -index 5ba4179..67b9e16 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c -@@ -222,11 +222,17 @@ static ssize_t sysprops_show(struct kobject *kobj, struct attribute *attr, - return ret; - } - -+static void kfd_topology_kobj_release(struct kobject *kobj) -+{ -+ kfree(kobj); -+} -+ - static const struct sysfs_ops sysprops_ops = { - .show = sysprops_show, - }; - - static struct kobj_type sysprops_type = { -+ .release = kfd_topology_kobj_release, - .sysfs_ops = &sysprops_ops, - }; - -@@ -262,6 +268,7 @@ static const struct sysfs_ops iolink_ops = { - }; - - static struct kobj_type iolink_type = { -+ .release = kfd_topology_kobj_release, - .sysfs_ops = &iolink_ops, - }; - -@@ -289,6 +296,7 @@ static const struct sysfs_ops mem_ops = { - }; - - static struct kobj_type mem_type = { -+ .release = kfd_topology_kobj_release, - .sysfs_ops = &mem_ops, - }; - -@@ -334,6 +342,7 @@ static const struct sysfs_ops cache_ops = { - }; - - static struct kobj_type cache_type = { -+ .release = kfd_topology_kobj_release, - .sysfs_ops = &cache_ops, - }; - -@@ -460,6 +469,7 @@ static const struct sysfs_ops node_ops = { - }; - - static struct kobj_type node_type = { -+ .release = kfd_topology_kobj_release, - .sysfs_ops = &node_ops, - }; - --- -2.7.4 - |