From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753460AbbCLKB5 (ORCPT ); Thu, 12 Mar 2015 06:01:57 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:33348 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752813AbbCLKBz (ORCPT ); Thu, 12 Mar 2015 06:01:55 -0400 Date: Thu, 12 Mar 2015 11:01:51 +0100 From: Greg Kroah-Hartman To: Vivien Didelot Cc: linux-kernel@vger.kernel.org, Guenter Roeck , kernel@savoirfairelinux.com Subject: Re: [PATCH v2 2/3] sysfs: Only accept read/write permissions for file attributes Message-ID: <20150312100151.GD3682@kroah.com> References: <1426098131-20106-1-git-send-email-vivien.didelot@savoirfairelinux.com> <1426098131-20106-3-git-send-email-vivien.didelot@savoirfairelinux.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1426098131-20106-3-git-send-email-vivien.didelot@savoirfairelinux.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 11, 2015 at 02:22:10PM -0400, 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 > Signed-off-by: Vivien Didelot > --- > 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; How does a "normal" boot look with this warning in place? There still seem to be a number of files in sysfs that might trigger this. Also, we have a build-time warning if a sysfs file is this type of attribute, shouldn't we just rely on that instead of this run-time warning? thanks, greg k-h