Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1735595 > unrolled thread
| Started by | Arvind Yadav <arvind.yadav.cs@gmail.com> |
|---|---|
| First post | 2017-09-20 09:30 +0200 |
| Last post | 2017-09-21 13:30 +0200 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH 0/2] Handle / Release memory obtained by kasprintf Arvind Yadav <arvind.yadav.cs@gmail.com> - 2017-09-20 09:30 +0200
[PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf Arvind Yadav <arvind.yadav.cs@gmail.com> - 2017-09-20 09:30 +0200
Re: [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf Ville Syrjälä <ville.syrjala@linux.intel.com> - 2017-09-21 13:30 +0200
[PATCH 2/2] drm: Release memory obtained by kasprintf Arvind Yadav <arvind.yadav.cs@gmail.com> - 2017-09-20 09:30 +0200
Re: [PATCH 2/2] drm: Release memory obtained by kasprintf Ville Syrjälä <ville.syrjala@linux.intel.com> - 2017-09-21 13:30 +0200
| From | Arvind Yadav <arvind.yadav.cs@gmail.com> |
|---|---|
| Date | 2017-09-20 09:30 +0200 |
| Subject | [PATCH 0/2] Handle / Release memory obtained by kasprintf |
| Message-ID | <urHCi-8iH-19@gated-at.bofh.it> |
Arvind Yadav (2): [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf [PATCH 2/2] drm: Release memory obtained by kasprintf drivers/gpu/drm/drm_crtc.c | 1 + drivers/gpu/drm/tegra/dc.c | 2 ++ 2 files changed, 3 insertions(+) -- 1.9.1
[toc] | [next] | [standalone]
| From | Arvind Yadav <arvind.yadav.cs@gmail.com> |
|---|---|
| Date | 2017-09-20 09:30 +0200 |
| Subject | [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf |
| Message-ID | <urHCi-8iH-23@gated-at.bofh.it> |
| In reply to | #1735595 |
kasprintf() can fail here and we must check its return value. Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> --- drivers/gpu/drm/tegra/dc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c index 4df3911..f3214a1 100644 --- a/drivers/gpu/drm/tegra/dc.c +++ b/drivers/gpu/drm/tegra/dc.c @@ -1695,6 +1695,8 @@ static int tegra_dc_debugfs_init(struct tegra_dc *dc, struct drm_minor *minor) int err; name = kasprintf(GFP_KERNEL, "dc.%d", dc->pipe); + if (!name) + return -ENOMEM; dc->debugfs = debugfs_create_dir(name, minor->debugfs_root); kfree(name); -- 1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Ville Syrjälä <ville.syrjala@linux.intel.com> |
|---|---|
| Date | 2017-09-21 13:30 +0200 |
| Subject | Re: [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf |
| Message-ID | <us7Q7-kv-43@gated-at.bofh.it> |
| In reply to | #1735596 |
On Wed, Sep 20, 2017 at 12:55:07PM +0530, Arvind Yadav wrote: > kasprintf() can fail here and we must check its return value. > > Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> > --- > drivers/gpu/drm/tegra/dc.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c > index 4df3911..f3214a1 100644 > --- a/drivers/gpu/drm/tegra/dc.c > +++ b/drivers/gpu/drm/tegra/dc.c > @@ -1695,6 +1695,8 @@ static int tegra_dc_debugfs_init(struct tegra_dc *dc, struct drm_minor *minor) > int err; > > name = kasprintf(GFP_KERNEL, "dc.%d", dc->pipe); > + if (!name) > + return -ENOMEM; > dc->debugfs = debugfs_create_dir(name, minor->debugfs_root); Indeed, doesn't look like debugfs_create_dir() can be safely called w/ name==NULL. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > kfree(name); > > -- > 1.9.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Ville Syrjälä Intel OTC
[toc] | [prev] | [next] | [standalone]
| From | Arvind Yadav <arvind.yadav.cs@gmail.com> |
|---|---|
| Date | 2017-09-20 09:30 +0200 |
| Subject | [PATCH 2/2] drm: Release memory obtained by kasprintf |
| Message-ID | <urHCi-8iH-29@gated-at.bofh.it> |
| In reply to | #1735595 |
Free memory region, if drm_crtc_init_with_planes is not successful.
Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
drivers/gpu/drm/drm_crtc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 5af25ce..cd4e628 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -328,6 +328,7 @@ int drm_crtc_init_with_planes(struct drm_device *dev, struct drm_crtc *crtc,
ret = drm_crtc_crc_init(crtc);
if (ret) {
drm_mode_object_unregister(dev, &crtc->base);
+ kfree(crtc->name);
return ret;
}
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Ville Syrjälä <ville.syrjala@linux.intel.com> |
|---|---|
| Date | 2017-09-21 13:30 +0200 |
| Subject | Re: [PATCH 2/2] drm: Release memory obtained by kasprintf |
| Message-ID | <us7Q6-kv-17@gated-at.bofh.it> |
| In reply to | #1735598 |
On Wed, Sep 20, 2017 at 12:55:08PM +0530, Arvind Yadav wrote:
> Free memory region, if drm_crtc_init_with_planes is not successful.
>
> Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
> ---
> drivers/gpu/drm/drm_crtc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 5af25ce..cd4e628 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -328,6 +328,7 @@ int drm_crtc_init_with_planes(struct drm_device *dev, struct drm_crtc *crtc,
> ret = drm_crtc_crc_init(crtc);
> if (ret) {
> drm_mode_object_unregister(dev, &crtc->base);
> + kfree(crtc->name);
Looks correct. However my ocd would wish the kfree() to precede
drm_mode_object_unregister() to make the unwinding mirror the
allocation/registration sequence.
> return ret;
> }
>
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Ville Syrjälä
Intel OTC
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web