All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 2/2] devfreq: separate error paths from successful path
@ 2011-11-11  4:09 MyungJoo Ham
  2011-11-14 23:17 ` Rafael J. Wysocki
  0 siblings, 1 reply; 4+ messages in thread
From: MyungJoo Ham @ 2011-11-11  4:09 UTC (permalink / raw)
  To: Axel Lin, linux-kernel@vger.kernel.org
  Cc: Kevin Hilman, 박경민, Mike Turquette,
	Rafael J. Wysocki

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=euc-kr, Size: 1622 bytes --]

Sender : Axel Lin<axel.lin@gmail.com> Date : 2011-11-10 16:30 (GMT+09:00)
> I think this change improves readability.
> 
> Signed-off-by: Axel Lin 

I agree. It makes it easier to read.

Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>

> ---
> drivers/devfreq/devfreq.c |   15 +++++++--------
> 1 files changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index 59d24e9..c189b82 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -347,7 +347,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
> if (!IS_ERR(devfreq)) {
> dev_err(dev, "%s: Unable to create devfreq for the device. It already has one. ", __func__);
> err = -EINVAL;
> - goto out;
> + goto err_out;
> }
> }
> 
> @@ -356,7 +356,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
> dev_err(dev, "%s: Unable to create devfreq for the device ",
> __func__);
> err = -ENOMEM;
> - goto out;
> + goto err_out;
> }
> 
> mutex_init(&devfreq->lock);
> @@ -399,17 +399,16 @@ struct devfreq *devfreq_add_device(struct device *dev,
>    devfreq->next_polling);
> }
> mutex_unlock(&devfreq_list_lock);
> - goto out;
> +out:
> + return devfreq;
> +
> err_init:
> device_unregister(&devfreq->dev);
> err_dev:
> mutex_unlock(&devfreq->lock);
> kfree(devfreq);
> -out:
> - if (err)
> - return ERR_PTR(err);
> - else
> - return devfreq;
> +err_out:
> + return ERR_PTR(err);
> }
> 
> /**
> -- 
> 1.7.5.4
> 
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 4+ messages in thread
* [PATCH 1/2] devfreq: fix use after free in devfreq_remove_device
@ 2011-11-10  7:28 Axel Lin
  2011-11-10  7:30 ` [PATCH 2/2] devfreq: separate error paths from successful path Axel Lin
  0 siblings, 1 reply; 4+ messages in thread
From: Axel Lin @ 2011-11-10  7:28 UTC (permalink / raw)
  To: linux-kernel
  Cc: MyungJoo Ham, Kevin Hilman, Kyungmin Park, Mike Turquette,
	Rafael J. Wysocki

In devfreq_remove_device, calling _remove_devfreq will also free devfreq.
Don't dereference devfreq->governor->no_central_polling after _remove_devfreq.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
 drivers/devfreq/devfreq.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index d065925..59d24e9 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -418,10 +418,14 @@ out:
  */
 int devfreq_remove_device(struct devfreq *devfreq)
 {
+	bool central_polling;
+
 	if (!devfreq)
 		return -EINVAL;
 
-	if (!devfreq->governor->no_central_polling) {
+	central_polling = !devfreq->governor->no_central_polling;
+
+	if (central_polling) {
 		mutex_lock(&devfreq_list_lock);
 		while (wait_remove_device == devfreq) {
 			mutex_unlock(&devfreq_list_lock);
@@ -433,7 +437,7 @@ int devfreq_remove_device(struct devfreq *devfreq)
 	mutex_lock(&devfreq->lock);
 	_remove_devfreq(devfreq, false); /* it unlocks devfreq->lock */
 
-	if (!devfreq->governor->no_central_polling)
+	if (central_polling)
 		mutex_unlock(&devfreq_list_lock);
 
 	return 0;
-- 
1.7.5.4




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

end of thread, other threads:[~2011-11-14 23:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-11  4:09 [PATCH 2/2] devfreq: separate error paths from successful path MyungJoo Ham
2011-11-14 23:17 ` Rafael J. Wysocki
2011-11-14 23:19   ` Rafael J. Wysocki
  -- strict thread matches above, loose matches on Subject: below --
2011-11-10  7:28 [PATCH 1/2] devfreq: fix use after free in devfreq_remove_device Axel Lin
2011-11-10  7:30 ` [PATCH 2/2] devfreq: separate error paths from successful path Axel Lin

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.