]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/nouveau: Fix error pointer dereference in r535_gsp_msgq_recv()
authorDan Carpenter <dan.carpenter@linaro.org>
Mon, 17 Feb 2025 07:31:21 +0000 (10:31 +0300)
committerDanilo Krummrich <dakr@kernel.org>
Wed, 19 Feb 2025 13:49:03 +0000 (14:49 +0100)
If "rpc" is an error pointer then return directly.  Otherwise it leads
to an error pointer dereference.

Fixes: 50f290053d79 ("drm/nouveau: support handling the return of large GSP message")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Zhi Wang <zhiw@nvidia.com>
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/b7052ac0-98e4-433b-ad58-f563bf51858c@stanley.mountain
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c

index 2075cad63805304e3661862d9bca9908f4f642eb..db2602e880062bf92ef7dff87963e072f4d10c50 100644 (file)
@@ -348,6 +348,7 @@ r535_gsp_msgq_recv(struct nvkm_gsp *gsp, u32 gsp_rpc_len, int *retries)
        if (IS_ERR(buf)) {
                kvfree(info.gsp_rpc_buf);
                info.gsp_rpc_buf = NULL;
+               return buf;
        }
 
        if (expected <= max_rpc_size)