summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@linaro.org>2025-02-17 10:31:21 +0300
committerDanilo Krummrich <dakr@kernel.org>2025-02-19 14:49:03 +0100
commitfdee05235a25bac8495e1261be10a7727ffd0a79 (patch)
treecde75d142e91a4711053fae6a8167f623a6a78ec
parent9b6c03cb96b9e19bce2c2764d2c6dd4ccbd06c5d (diff)
drm/nouveau: Fix error pointer dereference in r535_gsp_msgq_recv()
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
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c
index 2075cad63805..db2602e88006 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c
@@ -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)