Message ID | 20231204122102.181298-1-harshit.m.mogalapalli@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] drm/v3d: Fix missing error code in v3d_submit_cpu_ioctl() | expand |
On 12/04, Harshit Mogalapalli wrote: > Smatch warns: > drivers/gpu/drm/v3d/v3d_submit.c:1222 v3d_submit_cpu_ioctl() > warn: missing error code 'ret' > > When there is no job type or job is submitted with wrong number of BOs > it is an error path, ret is zero at this point which is incorrect > return. > > Fix this by changing it to -EINVAL. > > Fixes: aafc1a2bea67 ("drm/v3d: Add a CPU job submission") > Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> > --- > This is based on static analysis and only compile tested. > --- > drivers/gpu/drm/v3d/v3d_submit.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/v3d/v3d_submit.c b/drivers/gpu/drm/v3d/v3d_submit.c > index d7a9da2484fd..fcff41dd2315 100644 > --- a/drivers/gpu/drm/v3d/v3d_submit.c > +++ b/drivers/gpu/drm/v3d/v3d_submit.c > @@ -1219,11 +1219,13 @@ v3d_submit_cpu_ioctl(struct drm_device *dev, void *data, > /* Every CPU job must have a CPU job user extension */ > if (!cpu_job->job_type) { > DRM_DEBUG("CPU job must have a CPU job user extension.\n"); > + ret = -EINVAL; > goto fail; > } > > if (args->bo_handle_count != cpu_job_bo_handle_count[cpu_job->job_type]) { > DRM_DEBUG("This CPU job was not submitted with the proper number of BOs.\n"); > + ret = -EINVAL; Nice catch. Thanks! Reviewed-by: Melissa Wen <mwen@igalia.com> I'll apply to drm-misc-next. > goto fail; > } > > -- > 2.39.3 >
diff --git a/drivers/gpu/drm/v3d/v3d_submit.c b/drivers/gpu/drm/v3d/v3d_submit.c index d7a9da2484fd..fcff41dd2315 100644 --- a/drivers/gpu/drm/v3d/v3d_submit.c +++ b/drivers/gpu/drm/v3d/v3d_submit.c @@ -1219,11 +1219,13 @@ v3d_submit_cpu_ioctl(struct drm_device *dev, void *data, /* Every CPU job must have a CPU job user extension */ if (!cpu_job->job_type) { DRM_DEBUG("CPU job must have a CPU job user extension.\n"); + ret = -EINVAL; goto fail; } if (args->bo_handle_count != cpu_job_bo_handle_count[cpu_job->job_type]) { DRM_DEBUG("This CPU job was not submitted with the proper number of BOs.\n"); + ret = -EINVAL; goto fail; }
Smatch warns: drivers/gpu/drm/v3d/v3d_submit.c:1222 v3d_submit_cpu_ioctl() warn: missing error code 'ret' When there is no job type or job is submitted with wrong number of BOs it is an error path, ret is zero at this point which is incorrect return. Fix this by changing it to -EINVAL. Fixes: aafc1a2bea67 ("drm/v3d: Add a CPU job submission") Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> --- This is based on static analysis and only compile tested. --- drivers/gpu/drm/v3d/v3d_submit.c | 2 ++ 1 file changed, 2 insertions(+)