From nobody Mon Jun 8 13:30:56 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C1BD9369D72 for ; Fri, 29 May 2026 04:43:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029826; cv=none; b=BY+zA/22Uc2M8m39Rw9Oc0y8u5l3kl+QodvCVrBpTc5ZfyJE5LXI2w8ZUVHwXwSOa5mnOVjppxC8+VfykqacrxRhs4+5S/L3459vWg4qfzAbU5KkiEAwY7dfxDa/t9FKnZrB0K1fHGqwXERaP2L15nzKv/ugO0F6Ms9vUeJNLv8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029826; c=relaxed/simple; bh=yJkghtMQCmIzdreBmm3QzJTTfsOVk3pTjFa567BXYOE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RuChBBhivwni/D+c5ROA8a14/AVDRGXFhA2IzZzK2kKSv/4/0L4Ueo0U4eKoS1aJRHJvw7kbRPN20LKLxDKJ/n4EJH5Mj37NrtSCF/Pl5jafXlr8BVgm+EuyNoVz8VQFmmkE+KlrJLlx7hNS15t5BVXGSxY7Pg1KCvhBxNPyIyg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: f53a75e45b1811f1aa26b74ffac11d73-20260529 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:4bc93862-9aa5-4d55-a1a3-dab349dda999,IP:0,U RL:0,TC:0,Content:0,EDM:-25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:e7bac3a,CLOUDID:50a9ea194571a7af21f02bfefb4a9f8e,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|850|865|898,TC:nil,Content:0|1 5|50,EDM:2,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI: 0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: f53a75e45b1811f1aa26b74ffac11d73-20260529 X-User: zenghongling@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 1194093129; Fri, 29 May 2026 12:43:37 +0800 From: Hongling Zeng To: lyude@redhat.com, dakr@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, airlied@redhat.com, ttabi@nvidia.com, bskeggs@nvidia.com, dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhongling0719@126.com, Hongling Zeng Subject: [PATCH 1/7] nouveau/gsp/rm: Fix NULL return values in message receive functions Date: Fri, 29 May 2026 12:43:24 +0800 Message-Id: <20260529044330.96832-2-zenghongling@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260529044330.96832-1-zenghongling@kylinos.cn> References: <20260529044330.96832-1-zenghongling@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Fix r535_gsp_msgq_recv() and r535_gsp_msg_recv() to return error pointers instead of NULL. This is necessary to allow callers to use IS_ERR() consistently without missing NULL cases. Changes: - r535_gsp_msgq_recv(): Return ERR_PTR(-EINVAL) when RPC size exceeds maximum instead of NULL - r535_gsp_msg_recv(): Return ERR_PTR(-EIO) when message length is insufficient instead of NULL - r535_gsp_msg_recv(): For the case where no reply payload is expected (gsp_rpc_len =3D=3D 0), return ERR_PTR(-EIO) instead of NULL to maintain consistent error handling This fixes potential NULL pointer dereferences when IS_ERR_OR_NULL() is replaced with IS_ERR(). Fixes: ("nouveau/gsp/rm: cleanup IS_ERR_OR_NULL in core implementation") Fixes: ("nouveau/gsp/rm: cleanup remaining IS_ERR_OR_NULL usage") Signed-off-by: Hongling Zeng --- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c b/driver= s/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c index 3ca3de8f4340..ce83a867dd36 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c @@ -297,7 +297,7 @@ r535_gsp_msgq_recv(struct nvkm_gsp *gsp, u32 gsp_rpc_le= n, int *retries) rpc =3D (struct nvfw_gsp_rpc *)mqe->data; =20 if (WARN_ON(rpc->length > max_rpc_size)) - return NULL; + return ERR_PTR(-EINVAL); =20 buf =3D kvmalloc(max_t(u32, rpc->length, expected), GFP_KERNEL); if (!buf) @@ -488,7 +488,7 @@ r535_gsp_msg_recv(struct nvkm_gsp *gsp, int fn, u32 gsp= _rpc_len) } =20 r535_gsp_msg_done(gsp, rpc); - return NULL; + return ERR_PTR(-EIO); } =20 for (i =3D 0; i < gsp->msgq.ntfy_nr; i++) { @@ -512,7 +512,7 @@ r535_gsp_msg_recv(struct nvkm_gsp *gsp, int fn, u32 gsp= _rpc_len) if (*gsp->msgq.rptr !=3D *gsp->msgq.wptr) goto retry; =20 - return NULL; + return ERR_PTR(-EIO); } =20 int --=20 2.25.1 From nobody Mon Jun 8 13:30:56 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A93A437474F for ; Fri, 29 May 2026 04:43:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029829; cv=none; b=Tumxyx+drzOJC98armJ2mZfGfrfDwhIS2BqzR3cyb02L8mzUCnsRgX/+V5CjyzyhWpSMMiUAf+2oef+6toKmGf1OnvgKoCeghi8bc19OjHiw/p5t3cdiOSsKow8UgFf0n3LTju5M7d7To1rZGwHAyPjzM93t6/tbeQ9MUzoQFyY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029829; c=relaxed/simple; bh=J2HwIGNsgAIneNB8Aas/0Ksyy9vbcv1qnK9gDSdN++I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qydUKBam2SlftVjt2ehN6C0ZZQEIsOwpm4aLMiFytLbotjAF3arWRdL30D8OJTSXHSq9zYhkaaTYgpig+ItSZJ5HdqvwWrlyXKLYh44L7Ta1KsY5zW43P4XkbzrEgABpJsyAZNeJKCfpqBoNj2K96kwra2cghTbo1mwDW0Jy7sQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: f5c118b05b1811f1aa26b74ffac11d73-20260529 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:4ab03f95-bbf8-4c5c-b48d-6121e5722e24,IP:0,U RL:0,TC:0,Content:0,EDM:-25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:e7bac3a,CLOUDID:495d1e66de495f95137701a21807ed2f,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|850|865|898,TC:nil,Content:0|1 5|50,EDM:2,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI: 0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: f5c118b05b1811f1aa26b74ffac11d73-20260529 X-User: zenghongling@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 982248316; Fri, 29 May 2026 12:43:38 +0800 From: Hongling Zeng To: lyude@redhat.com, dakr@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, airlied@redhat.com, ttabi@nvidia.com, bskeggs@nvidia.com, dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhongling0719@126.com, Hongling Zeng Subject: [PATCH 2/7] nouveau/gsp: Add documentation for RPC functions return values Date: Fri, 29 May 2026 12:43:25 +0800 Message-Id: <20260529044330.96832-3-zenghongling@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260529044330.96832-1-zenghongling@kylinos.cn> References: <20260529044330.96832-1-zenghongling@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add kernel-doc comments to document the return value contracts for GSP RPC functions. This clarifies which functions can return NULL, error pointers, or both, making the codebase easier to maintain and preventing future errors. As per Danilo Krummrich's feedback: "the changes submitted by Hongling can add the documentation for the places that are touched." The following functions are documented: - r535_gsp_cmdq_get(): Returns ERR_PTR on error, never NULL - r535_gsp_rpc_get(): Returns ERR_PTR on error, never NULL - r535_gsp_msgq_peek(): Returns ERR_PTR on error, never NULL - r535_gsp_msgq_recv_one_elem(): Returns ERR_PTR on error, never NULL - r535_gsp_msgq_recv(): Returns ERR_PTR on error, never NULL (fixed in previous patch) - r535_gsp_msg_recv(): Returns ERR_PTR on error, never NULL (fixed in previous patch) Signed-off-by: Hongling Zeng --- .../drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c b/driver= s/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c index ce83a867dd36..9a9ac5e3017e 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c @@ -204,6 +204,14 @@ r535_gsp_msgq_get_entry(struct nvkm_gsp *gsp) * The user is responsible for freeing the memory allocated for the GSP * message pages after they have been processed. */ +/** + * r535_gsp_msgq_peek() - Peek at a GSP message queue element + * @gsp: GSP device + * @gsp_rpc_len: expected RPC length + * @retries: retry counter + * + * Return: ERR_PTR on error, valid pointer on success, never NULL + */ static void * r535_gsp_msgq_peek(struct nvkm_gsp *gsp, u32 gsp_rpc_len, int *retries) { @@ -229,6 +237,13 @@ struct r535_gsp_msg_info { static void r535_gsp_msg_dump(struct nvkm_gsp *gsp, struct nvfw_gsp_rpc *msg, int lvl); =20 +/** + * r535_gsp_msgq_recv_one_elem() - Receive one GSP message queue element + * @gsp: GSP device + * @info: message queue receive information + * + * Return: ERR_PTR on error, valid pointer on success, never NULL + */ static void * r535_gsp_msgq_recv_one_elem(struct nvkm_gsp *gsp, struct r535_gsp_msg_info *info) @@ -283,6 +298,14 @@ r535_gsp_msgq_recv_one_elem(struct nvkm_gsp *gsp, return buf; } =20 +/** + * r535_gsp_msgq_recv() - Receive a complete GSP message from the message = queue + * @gsp: GSP device + * @gsp_rpc_len: expected RPC length + * @retries: retry counter + * + * Return: ERR_PTR on error, valid pointer on success, never NULL + */ static void * r535_gsp_msgq_recv(struct nvkm_gsp *gsp, u32 gsp_rpc_len, int *retries) { @@ -450,6 +473,14 @@ r535_gsp_msg_dump(struct nvkm_gsp *gsp, struct nvfw_gs= p_rpc *msg, int lvl) } } =20 +/** + * r535_gsp_msg_recv() - Receive and validate a GSP RPC message + * @gsp: GSP device + * @fn: expected function number (0 to skip validation) + * @gsp_rpc_len: expected RPC length + * + * Return: ERR_PTR on error or validation failure, valid pointer on succes= s, never NULL + */ struct nvfw_gsp_rpc * r535_gsp_msg_recv(struct nvkm_gsp *gsp, int fn, u32 gsp_rpc_len) { @@ -609,6 +640,14 @@ r535_gsp_rpc_done(struct nvkm_gsp *gsp, void *repv) r535_gsp_msg_done(gsp, rpc); } =20 +/** + * r535_gsp_rpc_get() - Allocate and initialize a GSP RPC message + * @gsp: GSP device + * @fn: RPC function number + * @payload_size: size of the RPC payload + * + * Return: ERR_PTR on error, valid pointer on success, never NULL + */ static void * r535_gsp_rpc_get(struct nvkm_gsp *gsp, u32 fn, u32 payload_size) { --=20 2.25.1 From nobody Mon Jun 8 13:30:56 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A930F373BE4 for ; Fri, 29 May 2026 04:43:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029828; cv=none; b=RQ9VYGkQ/PLk9t/0HQEUft1me8zckOXM9crsEd2q5P+Jg9btcuIxjr3ZIO5jU5x6gvpti9hLhY0xBwiVkqoDKh+itcWB5AuvSfSO9bmPUFWR1L5PXMm1vR1ThOG3jdADnlO5mzEebi9D74Tqx6OkdfalV0coA/xu6mfOC1Zxeco= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029828; c=relaxed/simple; bh=Nw2p6iqL7HV3vtQYBBtWdfaClHRtTJ4sprgGo248WI4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pc3Ginrm9tIlxKFvkAH6hLrOSMjqi8rg3Vws9ZkzUB0k7swZrla8R8a196E8ZnD9Jl8jAsvIa8NlPxdwqc4wk1v1T1Zr4vStKegwDSHHnVox/JhV7Fpxj7CafFTnKRA/YGdMVetOVMjOcRGN1jwjFePibxE4YvU/fzH/ivKwcZk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: f6470b005b1811f1aa26b74ffac11d73-20260529 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:a0eb791c-a88d-4a94-8bd8-c1d78bb7ded7,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:e7bac3a,CLOUDID:fb736539e9216e15ebf69ba07d0bb577,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|850|865|898,TC:nil,Content:0|1 5|50,EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI :0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: f6470b005b1811f1aa26b74ffac11d73-20260529 X-User: zenghongling@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 1240982023; Fri, 29 May 2026 12:43:39 +0800 From: Hongling Zeng To: lyude@redhat.com, dakr@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, airlied@redhat.com, ttabi@nvidia.com, bskeggs@nvidia.com, dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhongling0719@126.com, Hongling Zeng Subject: [PATCH 3/7] nouveau/gsp: cleanup IS_ERR_OR_NULL in rpc_rd Date: Fri, 29 May 2026 12:43:26 +0800 Message-Id: <20260529044330.96832-4-zenghongling@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260529044330.96832-1-zenghongling@kylinos.cn> References: <20260529044330.96832-1-zenghongling@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The underlying nvkm_gsp_rpc_get() function returns error pointers, not NULL. This is now documented in the function's kernel-doc comment (added in previous patch). Therefore, checking for NULL with IS_ERR_OR_NULL() is redundant and IS_ERR() is sufficient. This affects nvkm_gsp_rpc_rd(). Signed-off-by: Hongling Zeng --- drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h b/drivers/gp= u/drm/nouveau/include/nvkm/subdev/gsp.h index 64fed208e4cf..a061779e0107 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h @@ -293,7 +293,7 @@ nvkm_gsp_rpc_rd(struct nvkm_gsp *gsp, u32 fn, u32 argc) { void *argv =3D nvkm_gsp_rpc_get(gsp, fn, argc); =20 - if (IS_ERR_OR_NULL(argv)) + if (IS_ERR(argv)) return argv; =20 return nvkm_gsp_rpc_push(gsp, argv, NVKM_GSP_RPC_REPLY_RECV, argc); --=20 2.25.1 From nobody Mon Jun 8 13:30:56 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DB5A374E6D for ; Fri, 29 May 2026 04:43:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029829; cv=none; b=uFcChsM5btUqohGI+SbVfHFoZabac18Ngci7IB3NB/vngkzGmsXIavVrtve8wJUt6gX1PxJaAgMwX+Sfg0pGnrkhi6NAoQqo19HqKCBGIoimr5Yq4XhJrDplaD4EJqovSH7fdvlDcxgaDeiN7CX0yUILvO5FKG0YmVpa5oruyig= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029829; c=relaxed/simple; bh=iHEq4hl++GTlda4a32o9VRcZD+QdVREz4b1huQ3mLV0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OBVTSahBwalMhtykDtXLkvNl/LcpG7kL43xYPycAxqUU+dW7ozoffUSYU/no/w+JzOwDco64Nym2hpmnLNvFFqb6PbrHDRWqw2KQ2XODdxgYm2Qeifepkk4mnwOLW/0Rtcg8lj/mI2ircpoIKAxnufnV+xPRujoUyxqtrhATkAw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: f6ccff765b1811f1aa26b74ffac11d73-20260529 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:d1b9bbc3-7bc7-45e5-b783-dc15e9905533,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:e7bac3a,CLOUDID:e637301b83934e3d8908b0e7a16f5edf,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|850|865|898,TC:nil,Content:0|1 5|50,EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI :0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: f6ccff765b1811f1aa26b74ffac11d73-20260529 X-User: zenghongling@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 672250448; Fri, 29 May 2026 12:43:40 +0800 From: Hongling Zeng To: lyude@redhat.com, dakr@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, airlied@redhat.com, ttabi@nvidia.com, bskeggs@nvidia.com, dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhongling0719@126.com, Hongling Zeng Subject: [PATCH 4/7] nouveau/gsp: cleanup IS_ERR_OR_NULL in rm_alloc functions Date: Fri, 29 May 2026 12:43:27 +0800 Message-Id: <20260529044330.96832-5-zenghongling@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260529044330.96832-1-zenghongling@kylinos.cn> References: <20260529044330.96832-1-zenghongling@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The underlying functions already return error pointers, so checking for NULL with IS_ERR_OR_NULL() is redundant. Use IS_ERR() instead. The underlying gsp->rm->api->alloc->get() function is documented to return error pointers only, never NULL (as per kernel-doc comment added in previous patch). This affects: - nvkm_gsp_rm_alloc_get() - nvkm_gsp_rm_alloc() Signed-off-by: Hongling Zeng --- drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h b/drivers/gp= u/drm/nouveau/include/nvkm/subdev/gsp.h index a061779e0107..d771134fa410 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h @@ -373,7 +373,7 @@ nvkm_gsp_rm_alloc_get(struct nvkm_gsp_object *parent, u= 32 handle, u32 oclass, u3 object->handle =3D handle; =20 argv =3D gsp->rm->api->alloc->get(object, oclass, argc); - if (IS_ERR_OR_NULL(argv)) { + if (IS_ERR(argv)) { object->client =3D NULL; return argv; } @@ -415,8 +415,8 @@ nvkm_gsp_rm_alloc(struct nvkm_gsp_object *parent, u32 h= andle, u32 oclass, u32 ar { void *argv =3D nvkm_gsp_rm_alloc_get(parent, handle, oclass, argc, object= ); =20 - if (IS_ERR_OR_NULL(argv)) - return argv ? PTR_ERR(argv) : -EIO; + if (IS_ERR(argv)) + return PTR_ERR(argv); =20 return nvkm_gsp_rm_alloc_wr(object, argv); } --=20 2.25.1 From nobody Mon Jun 8 13:30:56 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A172B374E47 for ; Fri, 29 May 2026 04:43:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029830; cv=none; b=bsrhsO2sHNopcmwm7sSPznxAfLQTLqMAcBbkKyo2jL5ygZfr+oVU+F2LtxclyGaEYMsopJ+2uM5fzsVXb1XRCntG6s76GOLXMKtPitzqSVVftn1xul/76V04/B/3ua5ySmnDjWdxSZs1ZJ2qiZDuUv8LhveRQ4B/oXi4SHCOwAA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029830; c=relaxed/simple; bh=4ET/hzw1nwra0hTT4jOLf0Y/zYrKLXksavNHKIv1uGw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=g/Hos2BWyMGckOKSQQml+qeOF3A3HACkvwo4fpokX3MV1OPn4w0XQoMfwTb+JMS8trp+lIYHcmQQ6ZMCwcQ3ZIzDQ5RM/PkFqeGN76De+ypSE707OXG3SzFfAEPxsnEkNtRoV/ynrhBwujLhCdNaORklGBA+9klnlY9xQ0li9HM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: f75452005b1811f1aa26b74ffac11d73-20260529 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:f7d507a1-c847-473d-be82-82ca2459e48b,IP:0,U RL:0,TC:0,Content:0,EDM:-25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:e7bac3a,CLOUDID:f42bce060d8d2ddfe392a1872d3edb3d,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|850|865|898,TC:nil,Content:0|1 5|50,EDM:2,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI: 0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: f75452005b1811f1aa26b74ffac11d73-20260529 X-User: zenghongling@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 35290211; Fri, 29 May 2026 12:43:41 +0800 From: Hongling Zeng To: lyude@redhat.com, dakr@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, airlied@redhat.com, ttabi@nvidia.com, bskeggs@nvidia.com, dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhongling0719@126.com, Hongling Zeng Subject: [PATCH 5/7] nouveau/gsp/rm: cleanup IS_ERR_OR_NULL in core implementation Date: Fri, 29 May 2026 12:43:28 +0800 Message-Id: <20260529044330.96832-6-zenghongling@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260529044330.96832-1-zenghongling@kylinos.cn> References: <20260529044330.96832-1-zenghongling@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Clean up IS_ERR_OR_NULL() checks in the core RPC and alloc implementation files. The underlying functions return error pointers, so IS_ERR() is sufficient. The underlying functions are now documented (in previous patches): - r535_gsp_msgq_peek(): Returns ERR_PTR on error, never NULL - r535_gsp_msgq_recv_one_elem(): Returns ERR_PTR on error, never NULL - r535_gsp_msgq_recv(): Returns ERR_PTR on error, never NULL (fixed in patch 1) This affects: - r535_gsp_rpc_rm_free() in alloc.c - r535_gsp_rpc_rm_alloc_push() in alloc.c - r535_gsp_msgq_recv() in rpc.c Signed-off-by: Hongling Zeng --- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/alloc.c | 4 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/alloc.c b/driv= ers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/alloc.c index 46e3a29f2ad7..27f275d2e151 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/alloc.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/alloc.c @@ -35,7 +35,7 @@ r535_gsp_rpc_rm_free(struct nvkm_gsp_object *object) client->object.handle, object->handle); =20 rpc =3D nvkm_gsp_rpc_get(gsp, NV_VGPU_MSG_FUNCTION_FREE, sizeof(*rpc)); - if (WARN_ON(IS_ERR_OR_NULL(rpc))) + if (WARN_ON(IS_ERR(rpc))) return -EIO; =20 rpc->params.hRoot =3D client->object.handle; @@ -60,7 +60,7 @@ r535_gsp_rpc_rm_alloc_push(struct nvkm_gsp_object *object= , void *params) void *ret =3D NULL; =20 rpc =3D nvkm_gsp_rpc_push(gsp, rpc, NVKM_GSP_RPC_REPLY_RECV, sizeof(*rpc)= ); - if (IS_ERR_OR_NULL(rpc)) + if (IS_ERR(rpc)) return rpc; =20 if (rpc->status) { diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c b/driver= s/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c index 9a9ac5e3017e..7d9a089b2f2c 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c @@ -347,7 +347,7 @@ r535_gsp_msgq_recv(struct nvkm_gsp *gsp, u32 gsp_rpc_le= n, int *retries) u32 size; =20 rpc =3D r535_gsp_msgq_peek(gsp, sizeof(*rpc), info.retries); - if (IS_ERR_OR_NULL(rpc)) { + if (IS_ERR(rpc)) { kvfree(buf); return rpc; } @@ -356,7 +356,7 @@ r535_gsp_msgq_recv(struct nvkm_gsp *gsp, u32 gsp_rpc_le= n, int *retries) info.continuation =3D true; =20 rpc =3D r535_gsp_msgq_recv_one_elem(gsp, &info); - if (IS_ERR_OR_NULL(rpc)) { + if (IS_ERR(rpc)) { kvfree(buf); return rpc; } --=20 2.25.1 From nobody Mon Jun 8 13:30:56 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2074A373C1A for ; Fri, 29 May 2026 04:43:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029827; cv=none; b=GTfWQn3p8ygBK5yW3zxKfGKDtaoALXyvmVorGzrKXnOYPo/nh2reoP2S/9o+hVsShAOLFfjySvOEYpmcWzHXeQLRVQcHGk/BweX2+MY2TpHRBZLahjllanyI+Ywyxn5aqSFiy4/8O0q9NuyGT7WygmWq3SbwLTvJctW7LQoHIl0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029827; c=relaxed/simple; bh=ZuHMG6af8PfySQqsIzlBZzFOx7yudA8HCN2oMNdOyIc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=OsgnhDd9+OOiAOhJSIDGNjd3D8nuyPsO2PeKC4oiUtAha2vKLcQDKmuDfji2TxqVMUJK4/SrK1SZwGj2lAmtP0Lf3bFcP/XgxXY3QBerE6qajYxTNX8V6NB6chNhIZdewJIizfiKsDWv8BBcbxfnHUgH6nEdiwIjhbt4zxN4Mxo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: f7d9a87e5b1811f1aa26b74ffac11d73-20260529 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:fced34c2-1af9-4e90-860c-a2f68394637b,IP:0,U RL:0,TC:0,Content:0,EDM:-25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:e7bac3a,CLOUDID:a03f045d94356b0239a41b2568ed7537,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|850|865|898,TC:nil,Content:0|1 5|50,EDM:2,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI: 0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: f7d9a87e5b1811f1aa26b74ffac11d73-20260529 X-User: zenghongling@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 1487815995; Fri, 29 May 2026 12:43:42 +0800 From: Hongling Zeng To: lyude@redhat.com, dakr@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, airlied@redhat.com, ttabi@nvidia.com, bskeggs@nvidia.com, dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhongling0719@126.com, Hongling Zeng Subject: [PATCH 6/7] nouveau/gsp/rm: cleanup WARN_ON(IS_ERR_OR_NULL) Date: Fri, 29 May 2026 12:43:29 +0800 Message-Id: <20260529044330.96832-7-zenghongling@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260529044330.96832-1-zenghongling@kylinos.cn> References: <20260529044330.96832-1-zenghongling@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace WARN_ON(IS_ERR_OR_NULL()) with WARN_ON(IS_ERR()) in various =1B[?4mM files. The underlying functions return error pointers, so checking for NULL is redundant. The underlying nvkm_gsp_rpc_get() function is documented to return error pointers only, never NULL (as per kernel-doc comment added in previous patch). This affects: - r535_bar1_fini() in bar.c Signed-off-by: Hongling Zeng --- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/bar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/bar.c b/driver= s/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/bar.c index fae08ac3b18c..9cd68f8622d3 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/bar.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/bar.c @@ -55,7 +55,7 @@ r535_bar_bar2_update_pde(struct nvkm_gsp *gsp, u8 page_sh= ift, u64 pdbe) rpc_update_bar_pde_v15_00 *rpc; =20 rpc =3D nvkm_gsp_rpc_get(gsp, NV_VGPU_MSG_FUNCTION_UPDATE_BAR_PDE, sizeof= (*rpc)); - if (WARN_ON(IS_ERR_OR_NULL(rpc))) + if (WARN_ON(IS_ERR(rpc))) return -EIO; =20 rpc->info.barType =3D NV_RPC_UPDATE_PDE_BAR_2; --=20 2.25.1 From nobody Mon Jun 8 13:30:56 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C8B6D374E62 for ; Fri, 29 May 2026 04:43:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029829; cv=none; b=rLwVCujCxt3nxvbXL5N1iTnr6I9SZPkU36CCFq/rrgGyYqmZ8e9i6StwHgadHEgUeaEgp1usG5Rr0EYeiHpyspyd9XWwN+hI6LFgX1GsI+djNOpz1/auTAP/KVKwUOPInCDPmSY5bxJdCf2q4wkZ0JC5HW6zehp+0u80VvyWM8k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780029829; c=relaxed/simple; bh=X5tiX39WKto/ePyOkGJKa7FgDDNjiVb1Rlf+goauyv8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DkxmFXSpbs230/YsPAWxSdS4dXMgTRg5zH4J8eWmjI9tpdV9gSB9lgTM37IkkA/bW6set/Z/ANuXBYb1t13CouHe00QAr7KqGYny96IWB4M4s4k1RYDC/pjRW+7GzvFPh+ZI8w2o2WmyBsyHLDXj5V4ShggPaTmJxEFeF57aNU8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: f85f42e05b1811f1aa26b74ffac11d73-20260529 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:bc761472-dbc2-4e7d-8f11-3834b54a003c,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:e7bac3a,CLOUDID:10e731fdf25a11fa33b5dadc3b06c630,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|850|865|898,TC:nil,Content:0|1 5|50,EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI :0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: f85f42e05b1811f1aa26b74ffac11d73-20260529 X-User: zenghongling@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 1181299496; Fri, 29 May 2026 12:43:42 +0800 From: Hongling Zeng To: lyude@redhat.com, dakr@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, airlied@redhat.com, ttabi@nvidia.com, bskeggs@nvidia.com, dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhongling0719@126.com, Hongling Zeng Subject: [PATCH 7/7] nouveau/gsp/rm: cleanup remaining IS_ERR_OR_NULL usage Date: Fri, 29 May 2026 12:43:30 +0800 Message-Id: <20260529044330.96832-8-zenghongling@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260529044330.96832-1-zenghongling@kylinos.cn> References: <20260529044330.96832-1-zenghongling@kylinos.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Clean up the remaining IS_ERR_OR_NULL() checks in ctrl.c and rpc.c. The underlying functions return error pointers, so IS_ERR() is sufficient. The underlying functions are now documented (in previous patches): - nvkm_gsp_rpc_push(): Returns ERR_PTR on error, never NULL - r535_gsp_msgq_peek(): Returns ERR_PTR on error, never NULL - r535_gsp_msg_recv(): Returns ERR_PTR on error, never NULL (fixed in patch 1) This affects: - r535_gsp_rpc_rm_ctrl_push() in ctrl.c - r535_gsp_msg_recv() in rpc.c - r535_gsp_rpc_handle_reply() in rpc.c Note: With the NULL return values fixed in patch 1, these changes are now safe and will not cause NULL pointer dereferences. Signed-off-by: Hongling Zeng --- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ctrl.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ctrl.c b/drive= rs/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ctrl.c index 70b9ee911c5e..aa0ebd3dfb17 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ctrl.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ctrl.c @@ -42,7 +42,7 @@ r535_gsp_rpc_rm_ctrl_push(struct nvkm_gsp_object *object,= void **params, u32 rep int ret =3D 0; =20 rpc =3D nvkm_gsp_rpc_push(gsp, rpc, NVKM_GSP_RPC_REPLY_RECV, repc); - if (IS_ERR_OR_NULL(rpc)) { + if (IS_ERR(rpc)) { *params =3D NULL; return PTR_ERR(rpc); } diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c b/driver= s/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c index 7d9a089b2f2c..0c67c82e3968 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c @@ -490,11 +490,11 @@ r535_gsp_msg_recv(struct nvkm_gsp *gsp, int fn, u32 g= sp_rpc_len) =20 retry: rpc =3D r535_gsp_msgq_peek(gsp, sizeof(*rpc), &retries); - if (IS_ERR_OR_NULL(rpc)) + if (IS_ERR(rpc)) return rpc; =20 rpc =3D r535_gsp_msgq_recv(gsp, gsp_rpc_len, &retries); - if (IS_ERR_OR_NULL(rpc)) + if (IS_ERR(rpc)) return rpc; =20 if (rpc->rpc_result) { @@ -592,7 +592,7 @@ r535_gsp_rpc_handle_reply(struct nvkm_gsp *gsp, u32 fn, break; case NVKM_GSP_RPC_REPLY_RECV: reply =3D r535_gsp_msg_recv(gsp, fn, gsp_rpc_len); - if (!IS_ERR_OR_NULL(reply)) + if (!IS_ERR(reply)) repv =3D reply->data; else repv =3D reply; --=20 2.25.1