diff options
author | 2020-01-01 00:16:45 +0000 | |
---|---|---|
committer | 2020-01-01 00:16:45 +0000 | |
commit | 54f904eb1e235a9cc4fd026f5c96e05ba7e72ab5 (patch) | |
tree | 3cd83ab3a3d4af9d9a61f8ddc26d02d275008f8d | |
parent | drm/amdgpu: fix uninitialized variable pasid_mapping_needed (diff) | |
download | wireguard-openbsd-54f904eb1e235a9cc4fd026f5c96e05ba7e72ab5.tar.xz wireguard-openbsd-54f904eb1e235a9cc4fd026f5c96e05ba7e72ab5.zip |
drm/amdkfd: fix a potential NULL pointer dereference (v2)
From Allen Pais
55248674330101fb3ccf7cec8b729e8e067e5f71 in linux 4.19.y/4.19.92
81de29d842ccb776c0f77aa3e2b11b07fff0c0e2 in mainline linux
-rw-r--r-- | sys/dev/pci/drm/amd/amdkfd/kfd_interrupt.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/amd/amdkfd/kfd_interrupt.c b/sys/dev/pci/drm/amd/amdkfd/kfd_interrupt.c index eea837c9bde..c5f6c980941 100644 --- a/sys/dev/pci/drm/amd/amdkfd/kfd_interrupt.c +++ b/sys/dev/pci/drm/amd/amdkfd/kfd_interrupt.c @@ -62,6 +62,11 @@ int kfd_interrupt_init(struct kfd_dev *kfd) } kfd->ih_wq = alloc_workqueue("KFD IH", WQ_HIGHPRI, 1); + if (unlikely(!kfd->ih_wq)) { + kfifo_free(&kfd->ih_fifo); + dev_err(kfd_chardev(), "Failed to allocate KFD IH workqueue\n"); + return -ENOMEM; + } mtx_init(&kfd->interrupt_lock, IPL_TTY); INIT_WORK(&kfd->interrupt_work, interrupt_wq); |