* [PATCH] drivers/hwmon/ibmaem.c: add missing kfree
@ 2011-08-09 15:10 Julia Lawall
2011-08-09 18:04 ` Guenter Roeck
0 siblings, 1 reply; 2+ messages in thread
From: Julia Lawall @ 2011-08-09 15:10 UTC (permalink / raw)
To: Jean Delvare; +Cc: kernel-janitors, Guenter Roeck, lm-sensors, linux-kernel
From: Julia Lawall <julia@diku.dk>
rs_resp is dynamically allocated in this function, so it should be freed
before exiting in every case. This collects the kfree and the return at
the end of the function.
Signed-off-by: Julia Lawall <julia@diku.dk>
---
drivers/hwmon/ibmaem.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
index 058e0ae..783d0c1 100644
--- a/drivers/hwmon/ibmaem.c
+++ b/drivers/hwmon/ibmaem.c
@@ -399,13 +399,15 @@ static int aem_read_sensor(struct aem_data *data, u8 elt, u8 reg,
aem_send_message(ipmi);
res = wait_for_completion_timeout(&ipmi->read_complete, IPMI_TIMEOUT);
- if (!res)
- return -ETIMEDOUT;
+ if (!res) {
+ res = -ETIMEDOUT;
+ goto out;
+ }
if (ipmi->rx_result || ipmi->rx_msg_len != rs_size ||
memcmp(&rs_resp->id, &system_x_id, sizeof(system_x_id))) {
- kfree(rs_resp);
- return -ENOENT;
+ res = -ENOENT;
+ goto out;
}
switch (size) {
@@ -430,8 +432,11 @@ static int aem_read_sensor(struct aem_data *data, u8 elt, u8 reg,
break;
}
}
+ res = 0;
- return 0;
+out:
+ kfree(rs_resp);
+ return res;
}
/* Update AEM energy registers */
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] drivers/hwmon/ibmaem.c: add missing kfree
2011-08-09 15:10 [PATCH] drivers/hwmon/ibmaem.c: add missing kfree Julia Lawall
@ 2011-08-09 18:04 ` Guenter Roeck
0 siblings, 0 replies; 2+ messages in thread
From: Guenter Roeck @ 2011-08-09 18:04 UTC (permalink / raw)
To: Julia Lawall; +Cc: Jean Delvare, kernel-janitors, lm-sensors, linux-kernel
On Tue, 2011-08-09 at 11:10 -0400, Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
>
> rs_resp is dynamically allocated in this function, so it should be freed
> before exiting in every case. This collects the kfree and the return at
> the end of the function.
>
> Signed-off-by: Julia Lawall <julia@diku.dk>
>
Good catch. Applied.
Thanks,
Guenter
> ---
> drivers/hwmon/ibmaem.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
> index 058e0ae..783d0c1 100644
> --- a/drivers/hwmon/ibmaem.c
> +++ b/drivers/hwmon/ibmaem.c
> @@ -399,13 +399,15 @@ static int aem_read_sensor(struct aem_data *data, u8 elt, u8 reg,
> aem_send_message(ipmi);
>
> res = wait_for_completion_timeout(&ipmi->read_complete, IPMI_TIMEOUT);
> - if (!res)
> - return -ETIMEDOUT;
> + if (!res) {
> + res = -ETIMEDOUT;
> + goto out;
> + }
>
> if (ipmi->rx_result || ipmi->rx_msg_len != rs_size ||
> memcmp(&rs_resp->id, &system_x_id, sizeof(system_x_id))) {
> - kfree(rs_resp);
> - return -ENOENT;
> + res = -ENOENT;
> + goto out;
> }
>
> switch (size) {
> @@ -430,8 +432,11 @@ static int aem_read_sensor(struct aem_data *data, u8 elt, u8 reg,
> break;
> }
> }
> + res = 0;
>
> - return 0;
> +out:
> + kfree(rs_resp);
> + return res;
> }
>
> /* Update AEM energy registers */
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-08-09 18:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-09 15:10 [PATCH] drivers/hwmon/ibmaem.c: add missing kfree Julia Lawall
2011-08-09 18:04 ` Guenter Roeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®