Re: SYSFS "errors"

Mauro Carvalho Chehab
2013-02-19T12:47:18Z

Em Tue, 19 Feb 2013 13:35:02 +0100
Borislav Petkov <bp@alien8.de> escreveu:

> On Tue, Feb 19, 2013 at 09:16:10AM -0300, Mauro Carvalho Chehab wrote:
> > I'm not sure if is there a way to pass fs permissions to something similar
> > to device_create_file().
>
> struct device_attribute.attr.mode? I.e., second arg.

Ah, now I see what you're meaning. That would require to dynamically
create a per-mci DEVICE_ATTR().

> > On both cases, an error will happen at open:
> > - if file doesn't exist (this approach), it will return -ENOENT;
> > - if file is opened with wrong permissions, open will return -EPERM.
> >
> > However, if the file is not created, readdir() won't show the file.
>
> Right, and in that case userspace which *assumes* it is always created -
> like it is now - will fail when accessing it.
>
> If simply you adjust the attributes accordingly but *always* create the
> file and it has the correct permissions, everyone is happy. Right?

No, on both cases, open() will return an error (-ENOENT against -EPERM).

If userspace doesn't check if open() failed, I can't see why
changing the open return error code would help.

--

Cheers,
Mauro