Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1735595 > unrolled thread

[PATCH 0/2] Handle / Release memory obtained by kasprintf

Started byArvind Yadav <arvind.yadav.cs@gmail.com>
First post2017-09-20 09:30 +0200
Last post2017-09-21 13:30 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [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

#1735595 — [PATCH 0/2] Handle / Release memory obtained by kasprintf

FromArvind Yadav <arvind.yadav.cs@gmail.com>
Date2017-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]


#1735596 — [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf

FromArvind Yadav <arvind.yadav.cs@gmail.com>
Date2017-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]


#1736573 — Re: [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf

FromVille Syrjälä <ville.syrjala@linux.intel.com>
Date2017-09-21 13:30 +0200
SubjectRe: [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]


#1735598 — [PATCH 2/2] drm: Release memory obtained by kasprintf

FromArvind Yadav <arvind.yadav.cs@gmail.com>
Date2017-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]


#1736559 — Re: [PATCH 2/2] drm: Release memory obtained by kasprintf

FromVille Syrjälä <ville.syrjala@linux.intel.com>
Date2017-09-21 13:30 +0200
SubjectRe: [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