On Mon, Apr 07, 2025 at 09:13:59AM +0200, Maxime Ripard wrote: > On Sat, Apr 05, 2025 at 10:45:03AM +0800, [email protected] wrote: > > From: sunliming <[email protected]> > > > > Fix below smatch warnings: > > drivers/gpu/drm/vc4/vc4_gem.c:604 vc4_lock_bo_reservations() error: > > uninitialized symbol 'ret'. > > > > Reported-by: kernel test robot <[email protected]> > > Reported-by: Dan Carpenter <[email protected]> > > Closes: https://lore.kernel.org/r/[email protected]/ > > Signed-off-by: sunliming <[email protected]> > > --- > > drivers/gpu/drm/vc4/vc4_gem.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c > > index 8125f87edc60..04ea1696fc5d 100644 > > --- a/drivers/gpu/drm/vc4/vc4_gem.c > > +++ b/drivers/gpu/drm/vc4/vc4_gem.c > > @@ -582,7 +582,7 @@ static int > > vc4_lock_bo_reservations(struct vc4_exec_info *exec, > > struct drm_exec *exec_ctx) > > { > > - int ret; > > + int ret = 0; > > > > /* Reserve space for our shared (read-only) fence references, > > * before we commit the CL to the hardware. > > I don't see a code path where ret is used without being initialized. Can > you clarify that in the commit log?
Apparently the drm_exec_until_all_locked() loop always iterates at least once. If you have the cross function database then this is parsed automatically, but I've also hard coded it as a loop at least once macro just a 1 minute ago to silence this false positive.s regards, dan carpenter
