Whenever a struct device_attribute is registered
with mismatched permissions - read permission without
a show routine or write permission without store
routine - we will issue a big warning so we catch
those early enough.

Signed-off-by: Felipe Balbi <ba...@ti.com>
---
 drivers/base/core.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index a235085..14e6a92 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -563,8 +563,15 @@ int device_create_file(struct device *dev,
                       const struct device_attribute *attr)
 {
        int error = 0;
-       if (dev)
+
+       if (dev) {
+               WARN(((attr->attr.mode & S_IWUGO) && !attr->store),
+                               "Write permission without 'store'\n");
+               WARN(((attr->attr.mode & S_IRUGO) && !attr->show),
+                               "Read permission without 'show'\n");
                error = sysfs_create_file(&dev->kobj, &attr->attr);
+       }
+
        return error;
 }
 
-- 
1.8.1.rc1.5.g7e0651a

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

Reply via email to