This change is to cleanup the code a bit.
Signed-off-by: Bernard Zhao bernard@vivo.com --- drivers/gpu/drm/tegra/submit.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/tegra/submit.c b/drivers/gpu/drm/tegra/submit.c index 776f825df52f..c2fc9677742e 100644 --- a/drivers/gpu/drm/tegra/submit.c +++ b/drivers/gpu/drm/tegra/submit.c @@ -608,12 +608,10 @@ int tegra_drm_ioctl_channel_submit(struct drm_device *drm, void *data, if (job_data && job_data->used_mappings) { for (i = 0; i < job_data->num_used_mappings; i++) tegra_drm_mapping_put(job_data->used_mappings[i].mapping); - - kfree(job_data->used_mappings); }
- if (job_data) - kfree(job_data); + kfree(job_data->used_mappings); + kfree(job_data); put_bo: gather_bo_put(&bo->base); unlock:
On 11/16/21 3:55 AM, Bernard Zhao wrote:
This change is to cleanup the code a bit.
Signed-off-by: Bernard Zhao bernard@vivo.com
drivers/gpu/drm/tegra/submit.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/tegra/submit.c b/drivers/gpu/drm/tegra/submit.c index 776f825df52f..c2fc9677742e 100644 --- a/drivers/gpu/drm/tegra/submit.c +++ b/drivers/gpu/drm/tegra/submit.c @@ -608,12 +608,10 @@ int tegra_drm_ioctl_channel_submit(struct drm_device *drm, void *data, if (job_data && job_data->used_mappings) { for (i = 0; i < job_data->num_used_mappings; i++) tegra_drm_mapping_put(job_data->used_mappings[i].mapping);
kfree(job_data->used_mappings);
}
if (job_data)
kfree(job_data);
- kfree(job_data->used_mappings);
Now if job_data == NULL, we dereference a NULL pointer here.
In general I'm not a fan of relying on kfree() etc. being a no-op on NULL pointers, since doing so gets rid of visual hints on code paths indicating the "liveness" of pointer variables.
However I'll let Thierry/other maintainers decide according to their preferences.
Thanks, Mikko
- kfree(job_data); put_bo: gather_bo_put(&bo->base); unlock:
dri-devel@lists.freedesktop.org