This was been fixed in 4.20.x upstream: commit c393e9b2d51540b74e18e555df14706098dbf2cc Author: Randy Dunlap <rdunlap@infradead.org> Date: Mon Nov 13 18:08:48 2017 +0200 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> 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"); } [root@jpd-vmbase02 ~]# modprobe amdkfd [ 132.453287] AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de> [ 132.454004] AMD IOMMUv2 functionality not available on this system [ 132.507733] CRAT table not found [ 132.508139] Finished initializing topology ret=0 [ 132.508802] kfd kfd: Initialized module [root@jpd-vmbase02 ~]# modprobe -r amdkfd [ 137.447829] amdkfd: Removed module [root@jpd-vmbase02 ~]# [root@jpd-vmbase02 ~]#