All of lore.kernel.org
 help / color / mirror / Atom feed
* [KJ] [PATCH] Driver core: Documentation: use snprintf and strnlen
@ 2005-07-21 20:49 Jan Veldeman
  2005-07-21 21:54 ` [KJ] [PATCH] Driver core: Documentation: fix whitespace between Jan Veldeman
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jan Veldeman @ 2005-07-21 20:49 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 903 bytes --]


Documentation should give the good example of using snprintf and
strnlen in stead of sprintf and strlen.

PAGE_SIZE is used as the maximal length to reflect the behaviour of
show/store.


Signed-off-by: Jan Veldeman <Jan.Veldeman@advalvas.be>


diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt
--- a/Documentation/filesystems/sysfs.txt
+++ b/Documentation/filesystems/sysfs.txt
@@ -216,13 +216,13 @@ A very simple (and naive) implementation
 
 static ssize_t show_name(struct device *dev, struct device_attribute *attr, char *buf)
 {
-        return sprintf(buf,"%s\n",dev->name);
+        return snprintf(buf,PAGE_SIZE,"%s\n",dev->name);
 }
 
 static ssize_t store_name(struct device * dev, const char * buf)
 {
 	sscanf(buf,"%20s",dev->name);
-	return strlen(buf);
+	return strnlen(buf,PAGE_SIZE);
 }
 
 static DEVICE_ATTR(name,S_IRUGO,show_name,store_name);




[-- Attachment #2: Type: text/plain, Size: 168 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [KJ] [PATCH] Driver core: Documentation: fix whitespace between
  2005-07-21 20:49 [KJ] [PATCH] Driver core: Documentation: use snprintf and strnlen Jan Veldeman
@ 2005-07-21 21:54 ` Jan Veldeman
  2005-07-22  8:19 ` [KJ] [PATCH] Driver core: Documentation: use S_IRUSR | ... in stead Jan Veldeman
  2005-07-22  9:41 ` Jan Veldeman
  2 siblings, 0 replies; 4+ messages in thread
From: Jan Veldeman @ 2005-07-21 21:54 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 3415 bytes --]

Patrick Mochel wrote:

> Thanks. However, for future refernce you should put a space between the
> parameters in a function call. It's easy enough to fix up in this patch.


It was al little more than just those lines, so I thought it deserved a
separate patch:


Fix whitespace after comma between parameters.


Signed-off-by: Jan Veldeman <Jan.Veldeman@advalvas.be>


diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt
--- a/Documentation/filesystems/sysfs.txt
+++ b/Documentation/filesystems/sysfs.txt
@@ -90,7 +90,7 @@ void device_remove_file(struct device *,
 
 It also defines this helper for defining device attributes: 
 
-#define DEVICE_ATTR(_name,_mode,_show,_store)      \
+#define DEVICE_ATTR(_name, _mode, _show, _store)      \
 struct device_attribute dev_attr_##_name = {            \
         .attr = {.name  = __stringify(_name) , .mode   = _mode },      \
         .show   = _show,                                \
@@ -99,7 +99,7 @@ struct device_attribute dev_attr_##_name
 
 For example, declaring
 
-static DEVICE_ATTR(foo,0644,show_foo,store_foo);
+static DEVICE_ATTR(foo, 0644, show_foo, store_foo);
 
 is equivalent to doing:
 
@@ -121,8 +121,8 @@ set of sysfs operations for forwarding r
 show and store methods of the attribute owners. 
 
 struct sysfs_ops {
-        ssize_t (*show)(struct kobject *, struct attribute *,char *);
-        ssize_t (*store)(struct kobject *,struct attribute *,const char *);
+        ssize_t (*show)(struct kobject *, struct attribute *, char *);
+        ssize_t (*store)(struct kobject *, struct attribute *, const char *);
 };
 
 [ Subsystems should have already defined a struct kobj_type as a
@@ -137,7 +137,7 @@ calls the associated methods. 
 
 To illustrate:
 
-#define to_dev_attr(_attr) container_of(_attr,struct device_attribute,attr)
+#define to_dev_attr(_attr) container_of(_attr, struct device_attribute, attr)
 #define to_dev(d) container_of(d, struct device, kobj)
 
 static ssize_t
@@ -148,7 +148,7 @@ dev_attr_show(struct kobject * kobj, str
         ssize_t ret = 0;
 
         if (dev_attr->show)
-                ret = dev_attr->show(dev,buf);
+                ret = dev_attr->show(dev, buf);
         return ret;
 }
 
@@ -216,16 +216,16 @@ A very simple (and naive) implementation
 
 static ssize_t show_name(struct device *dev, struct device_attribute *attr, char *buf)
 {
-        return snprintf(buf,PAGE_SIZE,"%s\n",dev->name);
+        return snprintf(buf, PAGE_SIZE, "%s\n", dev->name);
 }
 
 static ssize_t store_name(struct device * dev, const char * buf)
 {
-	sscanf(buf,"%20s",dev->name);
-	return strnlen(buf,PAGE_SIZE);
+	sscanf(buf, "%20s", dev->name);
+	return strnlen(buf, PAGE_SIZE);
 }
 
-static DEVICE_ATTR(name,S_IRUGO,show_name,store_name);
+static DEVICE_ATTR(name, S_IRUGO, show_name, store_name);
 
 
 (Note that the real implementation doesn't allow userspace to set the 
@@ -290,7 +290,7 @@ struct device_attribute {
 
 Declaring:
 
-DEVICE_ATTR(_name,_str,_mode,_show,_store);
+DEVICE_ATTR(_name, _str, _mode, _show, _store);
 
 Creation/Removal:
 
@@ -310,7 +310,7 @@ struct bus_attribute {
 
 Declaring:
 
-BUS_ATTR(_name,_mode,_show,_store)
+BUS_ATTR(_name, _mode, _show, _store)
 
 Creation/Removal:
 
@@ -331,7 +331,7 @@ struct driver_attribute {
 
 Declaring:
 
-DRIVER_ATTR(_name,_mode,_show,_store)
+DRIVER_ATTR(_name, _mode, _show, _store)
 
 Creation/Removal:
 


[-- Attachment #2: Type: text/plain, Size: 168 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [KJ] [PATCH] Driver core: Documentation: use S_IRUSR | ... in stead
  2005-07-21 20:49 [KJ] [PATCH] Driver core: Documentation: use snprintf and strnlen Jan Veldeman
  2005-07-21 21:54 ` [KJ] [PATCH] Driver core: Documentation: fix whitespace between Jan Veldeman
@ 2005-07-22  8:19 ` Jan Veldeman
  2005-07-22  9:41 ` Jan Veldeman
  2 siblings, 0 replies; 4+ messages in thread
From: Jan Veldeman @ 2005-07-22  8:19 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 1023 bytes --]


Walter Harms wrote:
[...]
> >+static DEVICE_ATTR(foo, 0644, show_foo, store_foo);
> > 
> 
> just a bit nitpicking ...
>  0644 magic number in examples are bad (even when most kernelhacker 
> know was they mean).
[...]


As we're at it and on request from Walter Harms, also fix the file mode to
use the defines in stead of 0644.


Signed-off-by: Jan Veldeman <Jan.Veldeman@advalvas.be>


diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt
--- a/Documentation/filesystems/sysfs.txt
+++ b/Documentation/filesystems/sysfs.txt
@@ -99,14 +99,15 @@ struct device_attribute dev_attr_##_name
 
 For example, declaring
 
-static DEVICE_ATTR(foo, 0644, show_foo, store_foo);
+static DEVICE_ATTR(foo, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH, show_foo,
+		   store_foo);
 
 is equivalent to doing:
 
 static struct device_attribute dev_attr_foo = {
        .attr	= {
 		.name = "foo",
-		.mode = 0644,
+		.mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH,
 	},
 	.show = show_foo,
 	.store = store_foo,


[-- Attachment #2: Type: text/plain, Size: 168 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [KJ] [PATCH] Driver core: Documentation: use S_IRUSR | ... in stead
  2005-07-21 20:49 [KJ] [PATCH] Driver core: Documentation: use snprintf and strnlen Jan Veldeman
  2005-07-21 21:54 ` [KJ] [PATCH] Driver core: Documentation: fix whitespace between Jan Veldeman
  2005-07-22  8:19 ` [KJ] [PATCH] Driver core: Documentation: use S_IRUSR | ... in stead Jan Veldeman
@ 2005-07-22  9:41 ` Jan Veldeman
  2 siblings, 0 replies; 4+ messages in thread
From: Jan Veldeman @ 2005-07-22  9:41 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 868 bytes --]

After more nitpicking from Domen Puncer (when is this going to end!? :-) ):
(this patch replaces the previous one)


Change filemode to use defines in stead of 0644,
based on suggestions by Walter Harms and Domen Puncer.


Signed-off-by: Jan Veldeman <Jan.Veldeman@advalvas.be>


diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt
--- a/Documentation/filesystems/sysfs.txt
+++ b/Documentation/filesystems/sysfs.txt
@@ -99,14 +99,14 @@ struct device_attribute dev_attr_##_name
 
 For example, declaring
 
-static DEVICE_ATTR(foo, 0644, show_foo, store_foo);
+static DEVICE_ATTR(foo, S_IWUSR | S_IRUGO, show_foo, store_foo);
 
 is equivalent to doing:
 
 static struct device_attribute dev_attr_foo = {
        .attr	= {
 		.name = "foo",
-		.mode = 0644,
+		.mode = S_IWUSR | S_IRUGO,
 	},
 	.show = show_foo,
 	.store = store_foo,


[-- Attachment #2: Type: text/plain, Size: 168 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-07-22  9:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-21 20:49 [KJ] [PATCH] Driver core: Documentation: use snprintf and strnlen Jan Veldeman
2005-07-21 21:54 ` [KJ] [PATCH] Driver core: Documentation: fix whitespace between Jan Veldeman
2005-07-22  8:19 ` [KJ] [PATCH] Driver core: Documentation: use S_IRUSR | ... in stead Jan Veldeman
2005-07-22  9:41 ` Jan Veldeman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.