For sysfs file attributes, only read and write permisssions make sense. Mask provided attribute permissions accordingly and send a warning to the console if invalid permission bits are set.
Cc: Vivien Didelot <[email protected]> Signed-off-by: Guenter Roeck <[email protected]> --- fs/sysfs/group.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs/sysfs/group.c b/fs/sysfs/group.c index 305eccb..0de6473 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 & ~(S_IRUGO | S_IWUGO | SYSFS_PREALLOC), + "Attribute %s: Invalid permission 0x%x\n", + (*attr)->name, mode); + + mode &= S_IRUGO | S_IWUGO | SYSFS_PREALLOC; error = sysfs_add_file_mode_ns(parent, *attr, false, mode, NULL); if (unlikely(error)) -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

