On 11/7/23 15:34, Dan Carpenter wrote:
Hello Ben Skeggs, The patch 176fdcbddfd2: "drm/nouveau/gsp/r535: add support for booting GSP-RM" from Sep 19, 2023 (linux-next), leads to the following Smatch static checker warning: drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1016 r535_gsp_rpc_unloading_guest_driver() warn: 'rpc' isn't an ERR_PTR drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c 1010 static int 1011 r535_gsp_rpc_unloading_guest_driver(struct nvkm_gsp *gsp, bool suspend) 1012 { 1013 rpc_unloading_guest_driver_v1F_07 *rpc; 1014 1015 rpc = nvkm_gsp_rpc_get(gsp, NV_VGPU_MSG_FUNCTION_UNLOADING_GUEST_DRIVER, sizeof(*rpc)); nvkm_gsp_rpc_get() returns NULL on error.
There are also code paths where it can return an ERR_PTR. I think we need to check for IS_ERR_OR_NULL()...
--> 1016 if (IS_ERR(rpc)) 1017 return PTR_ERR(rpc); 1018 1019 if (suspend) { 1020 rpc->bInPMTransition = 1; 1021 rpc->bGc6Entering = 0; 1022 rpc->newLevel = NV2080_CTRL_GPU_SET_POWER_STATE_GPU_LEVEL_3; 1023 } else { 1024 rpc->bInPMTransition = 0; 1025 rpc->bGc6Entering = 0; 1026 rpc->newLevel = NV2080_CTRL_GPU_SET_POWER_STATE_GPU_LEVEL_0; 1027 } 1028 1029 return nvkm_gsp_rpc_wr(gsp, rpc, true); 1030 } regards, dan carpenter