diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1322-drm-amdkfd-Fix-minor-memory-leak-if-sched_policy-is-.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1322-drm-amdkfd-Fix-minor-memory-leak-if-sched_policy-is-.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1322-drm-amdkfd-Fix-minor-memory-leak-if-sched_policy-is-.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1322-drm-amdkfd-Fix-minor-memory-leak-if-sched_policy-is-.patch new file mode 100644 index 00000000..0e38c2e5 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1322-drm-amdkfd-Fix-minor-memory-leak-if-sched_policy-is-.patch @@ -0,0 +1,46 @@ +From 6bdd1540dfdf5e81f70a94c0a543fb13c249106b Mon Sep 17 00:00:00 2001 +From: Felix Kuehling <Felix.Kuehling@amd.com> +Date: Fri, 28 Jul 2017 23:51:51 -0400 +Subject: [PATCH 1322/4131] drm/amdkfd: Fix minor memory leak if sched_policy + is invalid + +Change-Id: I05932df0780fe7dba8085b9902c90a8022bec2f0 +Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +index b78a773..93bf90b 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +@@ -1610,7 +1610,7 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev) + break; + default: + pr_err("Invalid scheduling policy %d\n", dqm->sched_policy); +- return NULL; ++ goto out_free; + } + + switch (dev->device_info->asic_family) { +@@ -1641,12 +1641,12 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev) + BUG(); + } + +- if (dqm->ops.initialize(dqm) != 0) { +- kfree(dqm); +- return NULL; +- } ++ if (!dqm->ops.initialize(dqm)) ++ return dqm; + +- return dqm; ++out_free: ++ kfree(dqm); ++ return NULL; + } + + void device_queue_manager_uninit(struct device_queue_manager *dqm) +-- +2.7.4 + |