2015-04-17 19:12:32

by Vivien Didelot

[permalink] [raw]
Subject: [PATCH v2] net: dsa: use DEVICE_ATTR_RW to declare temp1_max

Since commit da4759c (sysfs: Use only return value from is_visible for
the file mode), it is possible to reduce the permissions of a file.

So declare temp1_max with the DEVICE_ATTR_RW macro and remove the write
permission in dsa_hwmon_attrs_visible if set_temp_limit isn't provided.

Signed-off-by: Vivien Didelot <[email protected]>
---
net/dsa/dsa.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index 5eaadab..079a224 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -124,7 +124,7 @@ static ssize_t temp1_max_store(struct device *dev,

return count;
}
-static DEVICE_ATTR(temp1_max, S_IRUGO, temp1_max_show, temp1_max_store);
+static DEVICE_ATTR_RW(temp1_max);

static ssize_t temp1_max_alarm_show(struct device *dev,
struct device_attribute *attr, char *buf)
@@ -159,8 +159,8 @@ static umode_t dsa_hwmon_attrs_visible(struct kobject *kobj,
if (index == 1) {
if (!drv->get_temp_limit)
mode = 0;
- else if (drv->set_temp_limit)
- mode |= S_IWUSR;
+ else if (!drv->set_temp_limit)
+ mode &= ~S_IWUSR;
} else if (index == 2 && !drv->get_temp_alarm) {
mode = 0;
}
--
2.3.5


2015-04-17 19:40:32

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH v2] net: dsa: use DEVICE_ATTR_RW to declare temp1_max

On Fri, Apr 17, 2015 at 03:12:25PM -0400, Vivien Didelot wrote:
> Since commit da4759c (sysfs: Use only return value from is_visible for
> the file mode), it is possible to reduce the permissions of a file.
>
> So declare temp1_max with the DEVICE_ATTR_RW macro and remove the write
> permission in dsa_hwmon_attrs_visible if set_temp_limit isn't provided.
>
> Signed-off-by: Vivien Didelot <[email protected]>

Looks good.

Reviewed-by: Guenter Roeck <[email protected]>

> ---
> net/dsa/dsa.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
> index 5eaadab..079a224 100644
> --- a/net/dsa/dsa.c
> +++ b/net/dsa/dsa.c
> @@ -124,7 +124,7 @@ static ssize_t temp1_max_store(struct device *dev,
>
> return count;
> }
> -static DEVICE_ATTR(temp1_max, S_IRUGO, temp1_max_show, temp1_max_store);
> +static DEVICE_ATTR_RW(temp1_max);
>
> static ssize_t temp1_max_alarm_show(struct device *dev,
> struct device_attribute *attr, char *buf)
> @@ -159,8 +159,8 @@ static umode_t dsa_hwmon_attrs_visible(struct kobject *kobj,
> if (index == 1) {
> if (!drv->get_temp_limit)
> mode = 0;
> - else if (drv->set_temp_limit)
> - mode |= S_IWUSR;
> + else if (!drv->set_temp_limit)
> + mode &= ~S_IWUSR;
> } else if (index == 2 && !drv->get_temp_alarm) {
> mode = 0;
> }
> --
> 2.3.5
>

2015-04-17 19:59:22

by David Miller

[permalink] [raw]
Subject: Re: [PATCH v2] net: dsa: use DEVICE_ATTR_RW to declare temp1_max

From: Guenter Roeck <[email protected]>
Date: Fri, 17 Apr 2015 12:40:06 -0700

> On Fri, Apr 17, 2015 at 03:12:25PM -0400, Vivien Didelot wrote:
>> Since commit da4759c (sysfs: Use only return value from is_visible for
>> the file mode), it is possible to reduce the permissions of a file.
>>
>> So declare temp1_max with the DEVICE_ATTR_RW macro and remove the write
>> permission in dsa_hwmon_attrs_visible if set_temp_limit isn't provided.
>>
>> Signed-off-by: Vivien Didelot <[email protected]>
>
> Looks good.
>
> Reviewed-by: Guenter Roeck <[email protected]>

Applied, thanks everyone.