Re: Stricter module param and sysfs permission checks

From: Robert Jarzmik
Date: Thu Mar 20 2014 - 12:37:02 EST


Dave Jones <davej@xxxxxxxxxx> writes:

> On Thu, Mar 20, 2014 at 01:43:44PM +1030, Rusty Russell wrote:
>
> > drivers/mtd/devices/docg3.c:
> > __ATTR(f##id##_dps0_protection_key, S_IWUGO, NULL, dps0_insert_key), \
> > __ATTR(f##id##_dps1_protection_key, S_IWUGO, NULL, dps1_insert_key), \
> >
> > drivers/scsi/pm8001/pm8001_ctl.c:
> > static DEVICE_ATTR(update_fw, S_IRUGO|S_IWUGO,
> > pm8001_show_update_fw, pm8001_store_update_fw);
>
> Why on earth are these world writable ?
For docg3, this attributes are used to input a "password" into the flash chip,
to unlock parts of the flash memory. By unlock I mean that a sector read will
return the actual sector when unlocked, and only 0xff if not read unlocked.

As to the "why writable" by "others", the legacy reason is that when I wrote
that code I had in mind that a casual user count :
- input the code : "echo secret > dps0_protection_key"
- mount /usermount

That's not a good reason, I know, and changing that to remove the "other" write
permission is fine by me.

Cheers.

--
Robert
--
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/