lkml.org 
[lkml]   [2019]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 025/177] drm/amdkfd: fix a potential NULL pointer dereference (v2)
    Date
    From: Allen Pais <allen.pais@oracle.com>

    [ Upstream commit 81de29d842ccb776c0f77aa3e2b11b07fff0c0e2 ]

    alloc_workqueue is not checked for errors and as a result,
    a potential NULL dereference could occur.

    v2 (Felix Kuehling):
    * Fix compile error (kfifo_free instead of fifo_free)
    * Return proper error code

    Signed-off-by: Allen Pais <allen.pais@oracle.com>
    Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
    Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c b/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c
    index c56ac47cd3189..bc47f6a444564 100644
    --- a/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c
    +++ b/drivers/gpu/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;
    + }
    spin_lock_init(&kfd->interrupt_lock);

    INIT_WORK(&kfd->interrupt_work, interrupt_wq);
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-12-10 22:46    [W:4.855 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site