[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <561555AA.5090000@linaro.org>
Date: Wed, 07 Oct 2015 18:26:02 +0100
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: Greg KH <gregkh@...uxfoundation.org>
CC: maxime.ripard@...e-electrons.com, linux-kernel@...r.kernel.org,
andrew@...n.ch, wxt@...k-chips.com, stefan.wahren@...e.com,
pantelis.antoniou@...sulko.com, maitysanchayan@...il.com,
p.zabel@...gutronix.de, s.hauer@...gutronix.de,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] nvmem: core: make default user binary file root-access
only
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@...aro.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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists