Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1241669 > unrolled thread
| Started by | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| First post | 2015-10-07 18:40 +0200 |
| Last post | 2015-10-07 19:40 +0200 |
| Articles | 6 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] nvmem: core: make default user binary file root-access only Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2015-10-07 18:40 +0200
Re: [PATCH] nvmem: core: make default user binary file root-access only Greg KH <gregkh@linuxfoundation.org> - 2015-10-07 19:00 +0200
Re: [PATCH] nvmem: core: make default user binary file root-access only Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2015-10-07 19:10 +0200
Re: [PATCH] nvmem: core: make default user binary file root-access only Greg KH <gregkh@linuxfoundation.org> - 2015-10-07 19:20 +0200
Re: [PATCH] nvmem: core: make default user binary file root-access only Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2015-10-07 19:30 +0200
Re: [PATCH] nvmem: core: make default user binary file root-access only Greg KH <gregkh@linuxfoundation.org> - 2015-10-07 19:40 +0200
| From | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| Date | 2015-10-07 18:40 +0200 |
| Subject | [PATCH] nvmem: core: make default user binary file root-access only |
| Message-ID | <qgZV0-1TQ-15@gated-at.bofh.it> |
As required by many providers like at24/at25/mxs-ocotp/qfprom, which would
want to allow root-only to read/write the nvmem content.
So making the defaults to be root-only access which can prevent normal
users from reading the nvmem data.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
drivers/nvmem/core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
index 6fd4e5a..4d2e476 100644
--- a/drivers/nvmem/core.c
+++ b/drivers/nvmem/core.c
@@ -112,7 +112,7 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj,
static struct bin_attribute bin_attr_rw_nvmem = {
.attr = {
.name = "nvmem",
- .mode = S_IWUSR | S_IRUGO,
+ .mode = S_IWUSR | S_IRUSR,
},
.read = bin_attr_nvmem_read,
.write = bin_attr_nvmem_write,
@@ -136,7 +136,7 @@ static const struct attribute_group *nvmem_rw_dev_groups[] = {
static struct bin_attribute bin_attr_ro_nvmem = {
.attr = {
.name = "nvmem",
- .mode = S_IRUGO,
+ .mode = S_IRUSR,
},
.read = bin_attr_nvmem_read,
};
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Greg KH <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-10-07 19:00 +0200 |
| Subject | Re: [PATCH] nvmem: core: make default user binary file root-access only |
| Message-ID | <qh0el-2gu-1@gated-at.bofh.it> |
| In reply to | #1241669 |
On Wed, Oct 07, 2015 at 05:35:14PM +0100, Srinivas Kandagatla wrote:
> As required by many providers like at24/at25/mxs-ocotp/qfprom, which would
> want to allow root-only to read/write the nvmem content.
> So making the defaults to be root-only access which can prevent normal
> users from reading the nvmem data.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> ---
> drivers/nvmem/core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
> index 6fd4e5a..4d2e476 100644
> --- a/drivers/nvmem/core.c
> +++ b/drivers/nvmem/core.c
> @@ -112,7 +112,7 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj,
> static struct bin_attribute bin_attr_rw_nvmem = {
> .attr = {
> .name = "nvmem",
> - .mode = S_IWUSR | S_IRUGO,
> + .mode = S_IWUSR | S_IRUSR,
> },
> .read = bin_attr_nvmem_read,
> .write = bin_attr_nvmem_write,
> @@ -136,7 +136,7 @@ static const struct attribute_group *nvmem_rw_dev_groups[] = {
> static struct bin_attribute bin_attr_ro_nvmem = {
> .attr = {
> .name = "nvmem",
> - .mode = S_IRUGO,
> + .mode = S_IRUSR,
> },
> .read = bin_attr_nvmem_read,
> };
How about using BIN_ATTR_RO() and friends instead, that way I _know_ you
got the permissions correct as it's impossible to get them wrong by
using those macros.
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| Date | 2015-10-07 19:10 +0200 |
| Subject | Re: [PATCH] nvmem: core: make default user binary file root-access only |
| Message-ID | <qh0o3-2H0-23@gated-at.bofh.it> |
| In reply to | #1241684 |
On 07/10/15 17:50, Greg KH wrote:
> On Wed, Oct 07, 2015 at 05:35:14PM +0100, Srinivas Kandagatla wrote:
>> As required by many providers like at24/at25/mxs-ocotp/qfprom, which would
>> want to allow root-only to read/write the nvmem content.
>> So making the defaults to be root-only access which can prevent normal
>> users from reading the nvmem data.
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>> ---
>> drivers/nvmem/core.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
>> index 6fd4e5a..4d2e476 100644
>> --- a/drivers/nvmem/core.c
>> +++ b/drivers/nvmem/core.c
>> @@ -112,7 +112,7 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj,
>> static struct bin_attribute bin_attr_rw_nvmem = {
>> .attr = {
>> .name = "nvmem",
>> - .mode = S_IWUSR | S_IRUGO,
>> + .mode = S_IWUSR | S_IRUSR,
>> },
>> .read = bin_attr_nvmem_read,
>> .write = bin_attr_nvmem_write,
>> @@ -136,7 +136,7 @@ static const struct attribute_group *nvmem_rw_dev_groups[] = {
>> static struct bin_attribute bin_attr_ro_nvmem = {
>> .attr = {
>> .name = "nvmem",
>> - .mode = S_IRUGO,
>> + .mode = S_IRUSR,
>> },
>> .read = bin_attr_nvmem_read,
>> };
>
> How about using BIN_ATTR_RO() and friends instead, that way I _know_ you
> got the permissions correct as it's impossible to get them wrong by
> using those macros.
Yes, that sounds good, but there are no macros for just "S_IRUSR" or
"(S_IWUSR | S_IRUSR)" in ./include/linux/sysfs.h
--srini
>
> thanks,
>
> greg k-h
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg KH <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-10-07 19:20 +0200 |
| Subject | Re: [PATCH] nvmem: core: make default user binary file root-access only |
| Message-ID | <qh0xI-2Sd-5@gated-at.bofh.it> |
| In reply to | #1241695 |
On Wed, Oct 07, 2015 at 06:01:03PM +0100, Srinivas Kandagatla wrote:
>
>
> On 07/10/15 17:50, Greg KH wrote:
> >On Wed, Oct 07, 2015 at 05:35:14PM +0100, Srinivas Kandagatla wrote:
> >>As required by many providers like at24/at25/mxs-ocotp/qfprom, which would
> >>want to allow root-only to read/write the nvmem content.
> >>So making the defaults to be root-only access which can prevent normal
> >>users from reading the nvmem data.
> >>
> >>Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> >>---
> >> drivers/nvmem/core.c | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >>diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
> >>index 6fd4e5a..4d2e476 100644
> >>--- a/drivers/nvmem/core.c
> >>+++ b/drivers/nvmem/core.c
> >>@@ -112,7 +112,7 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj,
> >> static struct bin_attribute bin_attr_rw_nvmem = {
> >> .attr = {
> >> .name = "nvmem",
> >>- .mode = S_IWUSR | S_IRUGO,
> >>+ .mode = S_IWUSR | S_IRUSR,
> >> },
> >> .read = bin_attr_nvmem_read,
> >> .write = bin_attr_nvmem_write,
> >>@@ -136,7 +136,7 @@ static const struct attribute_group *nvmem_rw_dev_groups[] = {
> >> static struct bin_attribute bin_attr_ro_nvmem = {
> >> .attr = {
> >> .name = "nvmem",
> >>- .mode = S_IRUGO,
> >>+ .mode = S_IRUSR,
> >> },
> >> .read = bin_attr_nvmem_read,
> >> };
> >
> >How about using BIN_ATTR_RO() and friends instead, that way I _know_ you
> >got the permissions correct as it's impossible to get them wrong by
> >using those macros.
> Yes, that sounds good, but there are no macros for just "S_IRUSR" or
> "(S_IWUSR | S_IRUSR)" in ./include/linux/sysfs.h
Then that means you are trying to do something "odd" and you shouldn't
be doing that :)
Use the standard attribute permissions (RO, RW), as those are the
"safest" and what you really want to be using here, as you already are.
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| Date | 2015-10-07 19:30 +0200 |
| Subject | Re: [PATCH] nvmem: core: make default user binary file root-access only |
| Message-ID | <qh0Ho-33A-21@gated-at.bofh.it> |
| In reply to | #1241697 |
On 07/10/15 18:12, Greg KH wrote:
> On Wed, Oct 07, 2015 at 06:01:03PM +0100, Srinivas Kandagatla wrote:
>>
>>
>> On 07/10/15 17:50, Greg KH wrote:
>>> On Wed, Oct 07, 2015 at 05:35:14PM +0100, Srinivas Kandagatla wrote:
>>>> As required by many providers like at24/at25/mxs-ocotp/qfprom, which would
>>>> want to allow root-only to read/write the nvmem content.
>>>> So making the defaults to be root-only access which can prevent normal
>>>> users from reading the nvmem data.
>>>>
>>>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>>>> ---
>>>> drivers/nvmem/core.c | 4 ++--
>>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
>>>> index 6fd4e5a..4d2e476 100644
>>>> --- a/drivers/nvmem/core.c
>>>> +++ b/drivers/nvmem/core.c
>>>> @@ -112,7 +112,7 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj,
>>>> static struct bin_attribute bin_attr_rw_nvmem = {
>>>> .attr = {
>>>> .name = "nvmem",
>>>> - .mode = S_IWUSR | S_IRUGO,
>>>> + .mode = S_IWUSR | S_IRUSR,
>>>> },
>>>> .read = bin_attr_nvmem_read,
>>>> .write = bin_attr_nvmem_write,
>>>> @@ -136,7 +136,7 @@ static const struct attribute_group *nvmem_rw_dev_groups[] = {
>>>> static struct bin_attribute bin_attr_ro_nvmem = {
>>>> .attr = {
>>>> .name = "nvmem",
>>>> - .mode = S_IRUGO,
>>>> + .mode = S_IRUSR,
>>>> },
>>>> .read = bin_attr_nvmem_read,
>>>> };
>>>
>>> How about using BIN_ATTR_RO() and friends instead, that way I _know_ you
>>> got the permissions correct as it's impossible to get them wrong by
>>> using those macros.
>> Yes, that sounds good, but there are no macros for just "S_IRUSR" or
>> "(S_IWUSR | S_IRUSR)" in ./include/linux/sysfs.h
>
> Then that means you are trying to do something "odd" and you shouldn't
> be doing that :)
>
The requirement originally came from a discussion regarding file
permissions set by at24 (drivers/mis/eeprom/at24.c) vs nvmem.
at24 driver sets the permission of root-only read/write, which is
different to what nvmem sets as default.
So this patch was primarily make nvmem framework inline with what
at24/at25 does.
Other argument was regarding the content of the nvmem which could have
things like keys and normal user should not be allowed read it.
--srini
> Use the standard attribute permissions (RO, RW), as those are the
> "safest" and what you really want to be using here, as you already are.
>
> thanks,
>
> greg k-h
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg KH <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-10-07 19:40 +0200 |
| Subject | Re: [PATCH] nvmem: core: make default user binary file root-access only |
| Message-ID | <qh0R5-3eS-11@gated-at.bofh.it> |
| In reply to | #1241703 |
On Wed, Oct 07, 2015 at 06:26:02PM +0100, Srinivas Kandagatla wrote:
>
>
> On 07/10/15 18:12, Greg KH wrote:
> >On Wed, Oct 07, 2015 at 06:01:03PM +0100, Srinivas Kandagatla wrote:
> >>
> >>
> >>On 07/10/15 17:50, Greg KH wrote:
> >>>On Wed, Oct 07, 2015 at 05:35:14PM +0100, Srinivas Kandagatla wrote:
> >>>>As required by many providers like at24/at25/mxs-ocotp/qfprom, which would
> >>>>want to allow root-only to read/write the nvmem content.
> >>>>So making the defaults to be root-only access which can prevent normal
> >>>>users from reading the nvmem data.
> >>>>
> >>>>Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> >>>>---
> >>>> drivers/nvmem/core.c | 4 ++--
> >>>> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>>>
> >>>>diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
> >>>>index 6fd4e5a..4d2e476 100644
> >>>>--- a/drivers/nvmem/core.c
> >>>>+++ b/drivers/nvmem/core.c
> >>>>@@ -112,7 +112,7 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj,
> >>>> static struct bin_attribute bin_attr_rw_nvmem = {
> >>>> .attr = {
> >>>> .name = "nvmem",
> >>>>- .mode = S_IWUSR | S_IRUGO,
> >>>>+ .mode = S_IWUSR | S_IRUSR,
> >>>> },
> >>>> .read = bin_attr_nvmem_read,
> >>>> .write = bin_attr_nvmem_write,
> >>>>@@ -136,7 +136,7 @@ static const struct attribute_group *nvmem_rw_dev_groups[] = {
> >>>> static struct bin_attribute bin_attr_ro_nvmem = {
> >>>> .attr = {
> >>>> .name = "nvmem",
> >>>>- .mode = S_IRUGO,
> >>>>+ .mode = S_IRUSR,
> >>>> },
> >>>> .read = bin_attr_nvmem_read,
> >>>> };
> >>>
> >>>How about using BIN_ATTR_RO() and friends instead, that way I _know_ you
> >>>got the permissions correct as it's impossible to get them wrong by
> >>>using those macros.
> >>Yes, that sounds good, but there are no macros for just "S_IRUSR" or
> >>"(S_IWUSR | S_IRUSR)" in ./include/linux/sysfs.h
> >
> >Then that means you are trying to do something "odd" and you shouldn't
> >be doing that :)
> >
> The requirement originally came from a discussion regarding file permissions
> set by at24 (drivers/mis/eeprom/at24.c) vs nvmem.
>
> at24 driver sets the permission of root-only read/write, which is different
> to what nvmem sets as default.
>
> So this patch was primarily make nvmem framework inline with what at24/at25
> does.
Doesn't sound like a good idea, take this time to fix that lapse in
security :)
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web