Re: SYSFS "errors"

From: Borislav Petkov
Date: Tue Feb 19 2013 - 08:06:36 EST


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.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/