[Nouveau] [bug report] drm/nouveau/gsp/r535: add support for booting GSP-RM

Danilo Krummrich me at dakr.org
Tue Nov 7 19:00:23 UTC 2023


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


More information about the Nouveau mailing list