drivers/gpu/drm/msm/msm_gem_submit.c | 2 -- 1 file changed, 2 deletions(-)
According to the report of Coverity Scan [1], "sync_file" is going to be
NULL when entering the "if" section after "out_post_unlock", so
"fput(sync_file->file)" is never going to be exected in this block.
[1]: https://scan5.scan.coverity.com/#/project-view/10074/10063?selectedIssue=1655089
Signed-off-by: I Hsin Cheng <richard120310@gmail.com>
---
drivers/gpu/drm/msm/msm_gem_submit.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c
index d4f71bb54e84..cba1dc6fe6c6 100644
--- a/drivers/gpu/drm/msm/msm_gem_submit.c
+++ b/drivers/gpu/drm/msm/msm_gem_submit.c
@@ -904,8 +904,6 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
out_post_unlock:
if (ret && (out_fence_fd >= 0)) {
put_unused_fd(out_fence_fd);
- if (sync_file)
- fput(sync_file->file);
}
if (!IS_ERR_OR_NULL(submit)) {
--
2.43.0
On 6/23/25 12:47, I Hsin Cheng wrote: > According to the report of Coverity Scan [1], "sync_file" is going to be > NULL when entering the "if" section after "out_post_unlock", so > "fput(sync_file->file)" is never going to be exected in this block. > > [1]: https://scan5.scan.coverity.com/#/project-view/10074/10063?selectedIssue=1655089 > Signed-off-by: I Hsin Cheng <richard120310@gmail.com> > --- > drivers/gpu/drm/msm/msm_gem_submit.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c > index d4f71bb54e84..cba1dc6fe6c6 100644 > --- a/drivers/gpu/drm/msm/msm_gem_submit.c > +++ b/drivers/gpu/drm/msm/msm_gem_submit.c > @@ -904,8 +904,6 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data, > out_post_unlock: > if (ret && (out_fence_fd >= 0)) { > put_unused_fd(out_fence_fd); > - if (sync_file) > - fput(sync_file->file); Are you sure you want delete these two lines? It might not make sense to check sync_file inside if (ret && (out_fence_fd >= 0)), but it is ncecessary to fput. > } > > if (!IS_ERR_OR_NULL(submit)) { Check the error paths carefully to see if this is indeed the right fix. thanks, -- Shuah
On Tue, Jul 1, 2025 at 12:38 PM Shuah Khan <skhan@linuxfoundation.org> wrote: > > On 6/23/25 12:47, I Hsin Cheng wrote: > > According to the report of Coverity Scan [1], "sync_file" is going to be > > NULL when entering the "if" section after "out_post_unlock", so > > "fput(sync_file->file)" is never going to be exected in this block. > > > > [1]: https://scan5.scan.coverity.com/#/project-view/10074/10063?selectedIssue=1655089 > > Signed-off-by: I Hsin Cheng <richard120310@gmail.com> > > --- > > drivers/gpu/drm/msm/msm_gem_submit.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c > > index d4f71bb54e84..cba1dc6fe6c6 100644 > > --- a/drivers/gpu/drm/msm/msm_gem_submit.c > > +++ b/drivers/gpu/drm/msm/msm_gem_submit.c > > @@ -904,8 +904,6 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data, > > out_post_unlock: > > if (ret && (out_fence_fd >= 0)) { > > put_unused_fd(out_fence_fd); > > - if (sync_file) > > - fput(sync_file->file); > > Are you sure you want delete these two lines? It might not make > sense to check sync_file inside if (ret && (out_fence_fd >= 0)), > but it is ncecessary to fput. fwiw, there is at least about to be a code path where this error handling is not dead, once the VM_BIND series is merged BR, -R > > } > > > > if (!IS_ERR_OR_NULL(submit)) { > > Check the error paths carefully to see if this is indeed the right fix. > > thanks, > -- Shuah
© 2016 - 2025 Red Hat, Inc.