Changed the documentation to allow sprintf() when the buffer
provided by sysfs cannot be overflowed. Explicitly say
snprintf() must never be used in a show function to format
data to be returned to user space.

Change based on a discussion about the patch
st: convert DRIVER_ATTR macros to DRIVER_ATTR_RO

Suggested-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Shane Seymour <[email protected]>
---
Changes from v1:
- Changed the text after feedback from Sergey Senozhatsky
need to be more explicit that sprintf() can only be used when
you know that you will never overflow the buffer provided
by sysfs.
--- a/Documentation/filesystems/sysfs.txt       2015-06-22 14:18:40.278620871 
-0500
+++ b/Documentation/filesystems/sysfs.txt       2015-06-24 15:42:32.617955400 
-0500
@@ -212,7 +212,10 @@ Other notes:
 - show() methods should return the number of bytes printed into the
   buffer. This is the return value of scnprintf().
 
-- show() should always use scnprintf().
+- show() must not use snprintf() when formatting the value to be
+  returned to user space. If you can guarantee that an overflow
+  will never happen you can use sprintf() otherwise you must use
+  scnprintf().
 
 - store() should return the number of bytes used from the buffer. If the
   entire buffer has been used, just return the count argument.
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to