lkml.org 
[lkml]   [2018]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.18 184/235] drm/nouveau: Fix runtime PM leak in drm_open()
    Date
    4.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Lyude Paul <lyude@redhat.com>

    [ Upstream commit 922a8c82fafdec99688bbaea6c5889f562a42cdc ]

    Noticed this as I was skimming through, if we fail to allocate memory
    for cli we'll end up returning without dropping the runtime PM ref we
    got. Additionally, we'll even return the wrong return code! (ret most
    likely will == 0 here, we want -ENOMEM).

    Signed-off-by: Lyude Paul <lyude@redhat.com>
    Reviewed-by: Lukas Wunner <lukas@wunner.de>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/gpu/drm/nouveau/nouveau_drm.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/drivers/gpu/drm/nouveau/nouveau_drm.c
    +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
    @@ -908,8 +908,10 @@ nouveau_drm_open(struct drm_device *dev,
    get_task_comm(tmpname, current);
    snprintf(name, sizeof(name), "%s[%d]", tmpname, pid_nr(fpriv->pid));

    - if (!(cli = kzalloc(sizeof(*cli), GFP_KERNEL)))
    - return ret;
    + if (!(cli = kzalloc(sizeof(*cli), GFP_KERNEL))) {
    + ret = -ENOMEM;
    + goto done;
    + }

    ret = nouveau_cli_init(drm, name, cli);
    if (ret)

    \
     
     \ /
      Last update: 2018-09-24 14:42    [W:2.591 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site