From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752001Ab2GUQYA (ORCPT ); Sat, 21 Jul 2012 12:24:00 -0400 Received: from mail-gg0-f174.google.com ([209.85.161.174]:32888 "EHLO mail-gg0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751583Ab2GUQX7 (ORCPT ); Sat, 21 Jul 2012 12:23:59 -0400 MIME-Version: 1.0 In-Reply-To: <20120721161523.GB22896@kroah.com> References: <20120721040816.GA7313@kroah.com> <1342856010.21788.47.camel@ted> <1342869707.21788.50.camel@ted> <20120721160855.GB7565@khazad-dum.debian.net> <20120721161523.GB22896@kroah.com> Date: Sat, 21 Jul 2012 09:23:58 -0700 X-Google-Sender-Auth: 6IS9GBXPOrZmSEU5ArR0Yuw6k3A Message-ID: Subject: Re: sysfs permissions on dynamic attributes (led delay_on and delay_off) From: Colin Cross To: Greg KH Cc: Henrique de Moraes Holschuh , Richard Purdie , lkml , Bryan Wu Content-Type: text/plain; charset=ISO-8859-1 X-System-Of-Record: true Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jul 21, 2012 at 9:15 AM, Greg KH wrote: > On Sat, Jul 21, 2012 at 01:08:55PM -0300, Henrique de Moraes Holschuh wrote: >> On Sat, 21 Jul 2012, Colin Cross wrote: >> > The delay_on and delay_off files could easily override the values from >> > the trigger. >> > >> > Sending a KOBJ_CHANGE uevent is not a great solution, it's still >> > horribly racy in userspace. This script would never work reliably: >> > echo timer > trigger >> > echo 1000 > delay_on >> > echo 1000 > delay_off >> > echo 255 > brightness >> >> Yes, and the proper fix is to instead use a fully async userspace based on >> uevent callbacks. Nasty as all hell. Or the quick fix, which is to wait >> for the system to settle after every sysfs operation that could create new >> sysfs nodes. >> >> You could make sure that (1) no sysfs operation will return control to >> userspace until it is complete, so you'd have all new sysfs nodes available >> at the time the first echo returns [I believe it already works like that], > > Yes it does, what's the problem here? > >> and (2) either enhance sysfs to create nodes with the desired ownership and >> permissions > > From the kernel, you can also do this today, if you know it's "safe" for > users to read/write them. You can set the permissions, but I don't know of any way to set the owner. For my case, I need them to be writable by the "system" user but not by all users.