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

Reply via email to