return count;
 }
 
+/* Sysfs attributes cannot be world-writable. */
 static struct kobj_attribute foo_attribute =
-       __ATTR(foo, 0666, foo_show, foo_store);
+       __ATTR(foo, 0664, foo_show, foo_store);
 
 /*
  * More complex function where we determine which variable is being accessed by
 }
 
 static struct kobj_attribute baz_attribute =
-       __ATTR(baz, 0666, b_show, b_store);
+       __ATTR(baz, 0664, b_show, b_store);
 static struct kobj_attribute bar_attribute =
-       __ATTR(bar, 0666, b_show, b_store);
+       __ATTR(bar, 0664, b_show, b_store);
 
 
 /*
 
        return count;
 }
 
+/* Sysfs attributes cannot be world-writable. */
 static struct foo_attribute foo_attribute =
-       __ATTR(foo, 0666, foo_show, foo_store);
+       __ATTR(foo, 0664, foo_show, foo_store);
 
 /*
  * More complex function where we determine which variable is being accessed by
 }
 
 static struct foo_attribute baz_attribute =
-       __ATTR(baz, 0666, b_show, b_store);
+       __ATTR(baz, 0664, b_show, b_store);
 static struct foo_attribute bar_attribute =
-       __ATTR(bar, 0666, b_show, b_store);
+       __ATTR(bar, 0664, b_show, b_store);
 
 /*
  * Create a group of attributes so that we can create and destroy them all