Messages in this thread | | | Date | Wed, 11 Mar 2015 18:33:18 -0700 | From | Guenter Roeck <> | Subject | Re: [PATCH v2 2/3] sysfs: Only accept read/write permissions for file attributes |
| |
On 03/11/2015 11:22 AM, Vivien Didelot wrote: > For sysfs file attributes, only read and write permissions make sense. > Mask provided attribute permissions accordingly and send a warning > to the console if invalid permission bits are set. > > This patch is originally from Guenter [1] and includes the fixup > explained in the thread, that is printing permissions in octal format > and limiting the scope of attributes to SYSFS_PREALLOC | 0664. > > [1] https://lkml.org/lkml/2015/1/19/599 > > Cc: Guenter Roeck <linux@roeck-us.net> > Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> --- > fs/sysfs/group.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/fs/sysfs/group.c b/fs/sysfs/group.c > index 3fdccd9..b400c04 100644 > --- a/fs/sysfs/group.c > +++ b/fs/sysfs/group.c > @@ -55,6 +55,12 @@ static int create_files(struct kernfs_node *parent, struct kobject *kobj, > if (!mode) > continue; > } > + > + WARN(mode & ~(SYSFS_PREALLOC | 0664), > + "Attribute %s: Invalid permissions 0%o\n", > + (*attr)->name, mode); > + > + mode &= SYSFS_PREALLOC | 0664; > error = sysfs_add_file_mode_ns(parent, *attr, false, > mode, NULL); > if (unlikely(error)) >
| |