aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3390-drm-amdkfd-fix-amdkfd-use-after-free-GP-fault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3390-drm-amdkfd-fix-amdkfd-use-after-free-GP-fault.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3390-drm-amdkfd-fix-amdkfd-use-after-free-GP-fault.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3390-drm-amdkfd-fix-amdkfd-use-after-free-GP-fault.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3390-drm-amdkfd-fix-amdkfd-use-after-free-GP-fault.patch
new file mode 100644
index 00000000..6c1fb1df
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3390-drm-amdkfd-fix-amdkfd-use-after-free-GP-fault.patch
@@ -0,0 +1,40 @@
+From 167054f2520fd5f0d01336e6f6236929281c095a Mon Sep 17 00:00:00 2001
+From: Randy Dunlap <rdunlap@infradead.org>
+Date: Mon, 13 Nov 2017 18:08:48 +0200
+Subject: [PATCH 3390/4131] drm/amdkfd: fix amdkfd use-after-free GP fault
+
+Fix GP fault caused by dev_info() reference to a struct device*
+after the device has been freed (use after free).
+kfd_chardev_exit() frees the device so 'kfd_device' should not
+be used after calling kfd_chardev_exit().
+
+Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
+Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
+---
+ drivers/gpu/drm/amd/amdkfd/kfd_module.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_module.c b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
+index 6c5a9ca..f744cae 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_module.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_module.c
+@@ -24,6 +24,7 @@
+ #include <linux/sched.h>
+ #include <linux/moduleparam.h>
+ #include <linux/device.h>
++#include <linux/printk.h>
+ #include "kfd_priv.h"
+
+ #define KFD_DRIVER_AUTHOR "AMD Inc. and others"
+@@ -132,7 +133,7 @@ static void __exit kfd_module_exit(void)
+ kfd_process_destroy_wq();
+ kfd_topology_shutdown();
+ kfd_chardev_exit();
+- dev_info(kfd_device, "Removed module\n");
++ pr_info("amdkfd: Removed module\n");
+ }
+
+ module_init(kfd_module_init);
+--
+2.7.4
+