All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] power: power_supply_core: fix use after free and memory leak
@ 2010-11-19 18:41 ` Vasiliy Kulikov
  0 siblings, 0 replies; 4+ messages in thread
From: Vasiliy Kulikov @ 2010-11-19 18:41 UTC (permalink / raw)
  To: kernel-janitors; +Cc: Anton Vorontsov, David Woodhouse, linux-kernel

device_unregister() might free its argument.  This leads to freed
memory use in kfree().  Also use put_device() instead of kfree()
as dev may be already used in another layer after call to device_add().

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
---
 Compile tested only.

 drivers/power/power_supply_core.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
index 91606bb..f06bad0 100644
--- a/drivers/power/power_supply_core.c
+++ b/drivers/power/power_supply_core.c
@@ -190,10 +190,10 @@ int power_supply_register(struct device *parent, struct power_supply *psy)
 	goto success;
 
 create_triggers_failed:
-	device_unregister(psy->dev);
+	device_del(dev);
 kobject_set_name_failed:
 device_add_failed:
-	kfree(dev);
+	put_device(dev);
 success:
 	return rc;
 }
-- 
1.7.0.4


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

* [PATCH] power: power_supply_core: fix use after free and memory leak
@ 2010-11-19 18:41 ` Vasiliy Kulikov
  0 siblings, 0 replies; 4+ messages in thread
From: Vasiliy Kulikov @ 2010-11-19 18:41 UTC (permalink / raw)
  To: kernel-janitors; +Cc: Anton Vorontsov, David Woodhouse, linux-kernel

device_unregister() might free its argument.  This leads to freed
memory use in kfree().  Also use put_device() instead of kfree()
as dev may be already used in another layer after call to device_add().

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
---
 Compile tested only.

 drivers/power/power_supply_core.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
index 91606bb..f06bad0 100644
--- a/drivers/power/power_supply_core.c
+++ b/drivers/power/power_supply_core.c
@@ -190,10 +190,10 @@ int power_supply_register(struct device *parent, struct power_supply *psy)
 	goto success;
 
 create_triggers_failed:
-	device_unregister(psy->dev);
+	device_del(dev);
 kobject_set_name_failed:
 device_add_failed:
-	kfree(dev);
+	put_device(dev);
 success:
 	return rc;
 }
-- 
1.7.0.4


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

* Re: [PATCH] power: power_supply_core: fix use after free and
  2010-11-19 18:41 ` Vasiliy Kulikov
@ 2010-12-22  0:05   ` Anton Vorontsov
  -1 siblings, 0 replies; 4+ messages in thread
From: Anton Vorontsov @ 2010-12-22  0:05 UTC (permalink / raw)
  To: Vasiliy Kulikov; +Cc: kernel-janitors, David Woodhouse, linux-kernel

On Fri, Nov 19, 2010 at 09:41:58PM +0300, Vasiliy Kulikov wrote:
> device_unregister() might free its argument.  This leads to freed
> memory use in kfree().  Also use put_device() instead of kfree()
> as dev may be already used in another layer after call to device_add().
> 
> Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>

Applied, thanks!

> ---
>  Compile tested only.
> 
>  drivers/power/power_supply_core.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
> index 91606bb..f06bad0 100644
> --- a/drivers/power/power_supply_core.c
> +++ b/drivers/power/power_supply_core.c
> @@ -190,10 +190,10 @@ int power_supply_register(struct device *parent, struct power_supply *psy)
>  	goto success;
>  
>  create_triggers_failed:
> -	device_unregister(psy->dev);
> +	device_del(dev);
>  kobject_set_name_failed:
>  device_add_failed:
> -	kfree(dev);
> +	put_device(dev);
>  success:
>  	return rc;
>  }
> -- 
> 1.7.0.4

-- 
Anton Vorontsov
Email: cbouatmailru@gmail.com

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

* Re: [PATCH] power: power_supply_core: fix use after free and memory leak
@ 2010-12-22  0:05   ` Anton Vorontsov
  0 siblings, 0 replies; 4+ messages in thread
From: Anton Vorontsov @ 2010-12-22  0:05 UTC (permalink / raw)
  To: Vasiliy Kulikov; +Cc: kernel-janitors, David Woodhouse, linux-kernel

On Fri, Nov 19, 2010 at 09:41:58PM +0300, Vasiliy Kulikov wrote:
> device_unregister() might free its argument.  This leads to freed
> memory use in kfree().  Also use put_device() instead of kfree()
> as dev may be already used in another layer after call to device_add().
> 
> Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>

Applied, thanks!

> ---
>  Compile tested only.
> 
>  drivers/power/power_supply_core.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
> index 91606bb..f06bad0 100644
> --- a/drivers/power/power_supply_core.c
> +++ b/drivers/power/power_supply_core.c
> @@ -190,10 +190,10 @@ int power_supply_register(struct device *parent, struct power_supply *psy)
>  	goto success;
>  
>  create_triggers_failed:
> -	device_unregister(psy->dev);
> +	device_del(dev);
>  kobject_set_name_failed:
>  device_add_failed:
> -	kfree(dev);
> +	put_device(dev);
>  success:
>  	return rc;
>  }
> -- 
> 1.7.0.4

-- 
Anton Vorontsov
Email: cbouatmailru@gmail.com

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

end of thread, other threads:[~2010-12-22  0:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-19 18:41 [PATCH] power: power_supply_core: fix use after free and memory leak Vasiliy Kulikov
2010-11-19 18:41 ` Vasiliy Kulikov
2010-12-22  0:05 ` [PATCH] power: power_supply_core: fix use after free and Anton Vorontsov
2010-12-22  0:05   ` [PATCH] power: power_supply_core: fix use after free and memory leak Anton Vorontsov

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.