coccinelle: api: add device_attr_show script
authorDenis Efremov <efremov@linux.com>
Mon, 15 Jun 2020 13:02:42 +0000 (16:02 +0300)
committerJulia Lawall <Julia.Lawall@lip6.fr>
Tue, 4 Aug 2020 20:46:58 +0000 (22:46 +0200)
commitabfc19ff202d287742483e15fd478ddd6ada2187
treeb94ab026ed9535aff5ae24c6a8fe3736b24ead98
parentc0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a
coccinelle: api: add device_attr_show script

According to the documentation[1] show() methods of device attributes
should return the number of bytes printed into the buffer. This is
the return value of scnprintf(). show() must not use snprintf()
when formatting the value to be returned to user space. snprintf()
returns the length the resulting string would be, assuming it all
fit into the destination array[2]. scnprintf() return the length of
the string actually created in buf. If one can guarantee that an
overflow will never happen sprintf() can be used otherwise scnprintf().

[1] Documentation/filesystems/sysfs.txt
[2] "snprintf() confusion" https://lwn.net/Articles/69419/

Signed-off-by: Denis Efremov <efremov@linux.com>
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
scripts/coccinelle/api/device_attr_show.cocci [new file with mode: 0644]