Re: SYSFS "errors"

Borislav Petkov
2013-02-19T13:06:26Z

On Tue, Feb 19, 2013 at 09:46:40AM -0300, Mauro Carvalho Chehab wrote:
> Ah, now I see what you're meaning. That would require to dynamically
> create a per-mci DEVICE_ATTR().

Dude, look at the code, we do that already. And you're using it with
dev_attr_sdram_scrub_rate.

Simply change the permissions of the attribute before calling
device_create_file.

pseudo:

umode_t mode = 0;

if (mci->set...)
mode |= S_IWUSR;

if (mci->get...)
mode |= S_IRUGO;

dev_attr_sdram_scrub_rate.attr.mode = mode;

device_create_file(&mci->dev, &dev_attr_sdram_scrub_rate);

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

What if it is a shell script doing:

cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate

or similar?

Simply fixing the permissions fixes *all* possible cases.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--