2009-10-22 01:01:40

by djwong

[permalink] [raw]
Subject: [PATCH] acpi_power_meter: Don't leak ACPI error codes to userspace

acpi-power-meter: Don't leak ACPI error codes to userspace

If the ACPI methods return an error code, we must return -EINVAL to userspace
to flag the error. Right now we pass the (positive) number right through,
which causes echo to keep writing bogus values.

Signed-off-by: Darrick J. Wong <[email protected]>
---

drivers/acpi/power_meter.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)


diff --git a/drivers/acpi/power_meter.c b/drivers/acpi/power_meter.c
index e6bfd77..2ef7030 100644
--- a/drivers/acpi/power_meter.c
+++ b/drivers/acpi/power_meter.c
@@ -294,7 +294,11 @@ static int set_acpi_trip(struct acpi_power_meter_resource *resource)
return -EINVAL;
}

- return data;
+ /* _PTP returns 0 on success, nonzero otherwise */
+ if (data)
+ return -EINVAL;
+
+ return 0;
}

static ssize_t set_trip(struct device *dev, struct device_attribute *devattr,


2009-10-22 07:27:52

by Jean Delvare

[permalink] [raw]
Subject: Re: [lm-sensors] [PATCH] acpi_power_meter: Don't leak ACPI error codes to userspace

On Wed, 21 Oct 2009 18:01:37 -0700, Darrick J. Wong wrote:
> acpi-power-meter: Don't leak ACPI error codes to userspace
>
> If the ACPI methods return an error code, we must return -EINVAL to userspace
> to flag the error. Right now we pass the (positive) number right through,
> which causes echo to keep writing bogus values.
>
> Signed-off-by: Darrick J. Wong <[email protected]>

Acked-by: Jean Delvare <[email protected]>

> ---
>
> drivers/acpi/power_meter.c | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
>
> diff --git a/drivers/acpi/power_meter.c b/drivers/acpi/power_meter.c
> index e6bfd77..2ef7030 100644
> --- a/drivers/acpi/power_meter.c
> +++ b/drivers/acpi/power_meter.c
> @@ -294,7 +294,11 @@ static int set_acpi_trip(struct acpi_power_meter_resource *resource)
> return -EINVAL;
> }
>
> - return data;
> + /* _PTP returns 0 on success, nonzero otherwise */
> + if (data)
> + return -EINVAL;
> +
> + return 0;
> }
>
> static ssize_t set_trip(struct device *dev, struct device_attribute *devattr,

--
Jean Delvare

2009-11-05 17:26:05

by Len Brown

[permalink] [raw]
Subject: Re: [lm-sensors] [PATCH] acpi_power_meter: Don't leak ACPI error codes to userspace

applied

thanks,
Len Brown, Intel Open Source Technology Center