All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Handle / Release memory obtained by kasprintf
@ 2017-09-20  7:25 Arvind Yadav
  2017-09-20  7:25 ` [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf Arvind Yadav
  2017-09-20  7:25 ` [PATCH 2/2] drm: Release memory obtained by kasprintf Arvind Yadav
  0 siblings, 2 replies; 7+ messages in thread
From: Arvind Yadav @ 2017-09-20  7:25 UTC (permalink / raw)
  To: thierry.reding, airlied, jonathanh, daniel.vetter, jani.nikula, seanpaul
  Cc: dri-devel, linux-kernel

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf
  2017-09-20  7:25 [PATCH 0/2] Handle / Release memory obtained by kasprintf Arvind Yadav
@ 2017-09-20  7:25 ` Arvind Yadav
  2017-09-21 11:22     ` Ville Syrjälä
  2017-09-20  7:25 ` [PATCH 2/2] drm: Release memory obtained by kasprintf Arvind Yadav
  1 sibling, 1 reply; 7+ messages in thread
From: Arvind Yadav @ 2017-09-20  7:25 UTC (permalink / raw)
  To: thierry.reding, airlied, jonathanh, daniel.vetter, jani.nikula, seanpaul
  Cc: dri-devel, linux-kernel

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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] drm: Release memory obtained by kasprintf
  2017-09-20  7:25 [PATCH 0/2] Handle / Release memory obtained by kasprintf Arvind Yadav
  2017-09-20  7:25 ` [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf Arvind Yadav
@ 2017-09-20  7:25 ` Arvind Yadav
  2017-09-21 11:24     ` Ville Syrjälä
  1 sibling, 1 reply; 7+ messages in thread
From: Arvind Yadav @ 2017-09-20  7:25 UTC (permalink / raw)
  To: thierry.reding, airlied, jonathanh, daniel.vetter, jani.nikula, seanpaul
  Cc: dri-devel, linux-kernel

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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf
  2017-09-20  7:25 ` [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf Arvind Yadav
@ 2017-09-21 11:22     ` Ville Syrjälä
  0 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjälä @ 2017-09-21 11:22 UTC (permalink / raw)
  To: Arvind Yadav
  Cc: thierry.reding, airlied, jonathanh, daniel.vetter, jani.nikula,
	seanpaul, linux-kernel, dri-devel

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf
@ 2017-09-21 11:22     ` Ville Syrjälä
  0 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjälä @ 2017-09-21 11:22 UTC (permalink / raw)
  To: Arvind Yadav
  Cc: linux-kernel, jonathanh, thierry.reding, dri-devel, daniel.vetter

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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm: Release memory obtained by kasprintf
  2017-09-20  7:25 ` [PATCH 2/2] drm: Release memory obtained by kasprintf Arvind Yadav
@ 2017-09-21 11:24     ` Ville Syrjälä
  0 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjälä @ 2017-09-21 11:24 UTC (permalink / raw)
  To: Arvind Yadav
  Cc: thierry.reding, airlied, jonathanh, daniel.vetter, jani.nikula,
	seanpaul, linux-kernel, dri-devel

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm: Release memory obtained by kasprintf
@ 2017-09-21 11:24     ` Ville Syrjälä
  0 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjälä @ 2017-09-21 11:24 UTC (permalink / raw)
  To: Arvind Yadav
  Cc: linux-kernel, jonathanh, thierry.reding, dri-devel, daniel.vetter

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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-09-21 11:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-20  7:25 [PATCH 0/2] Handle / Release memory obtained by kasprintf Arvind Yadav
2017-09-20  7:25 ` [PATCH 1/2] drm: tegra: dc: Handle return value of kasprintf Arvind Yadav
2017-09-21 11:22   ` Ville Syrjälä
2017-09-21 11:22     ` Ville Syrjälä
2017-09-20  7:25 ` [PATCH 2/2] drm: Release memory obtained by kasprintf Arvind Yadav
2017-09-21 11:24   ` Ville Syrjälä
2017-09-21 11:24     ` Ville Syrjälä

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.