include, lib: add __printf attributes to several function prototypes
authorNicolas Iooss <nicolas.iooss_linux@m4x.org>
Fri, 17 Jul 2015 23:23:42 +0000 (16:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 17 Jul 2015 23:39:53 +0000 (16:39 -0700)
commit8db1486065141e619e4855b84e350ef32064f7e1
tree438cace62ece1251656b38fbf428cf5aa5184fb8
parent7f9be77555bb2e52de84e9dddf7b4eb20cc6e171
include, lib: add __printf attributes to several function prototypes

Using __printf attributes helps to detect several format string issues
at compile time (even though -Wformat-security is currently disabled in
Makefile).  For example it can detect when formatting a pointer as a
number, like the issue fixed in commit a3fa71c40f18 ("wl18xx: show
rx_frames_per_rates as an array as it really is"), or when the arguments
do not match the format string, c.f.  for example commit 5ce1aca81435
("reiserfs: fix __RASSERT format string").

To prevent similar bugs in the future, add a __printf attribute to every
function prototype which needs one in include/linux/ and lib/.  These
functions were mostly found by using gcc's -Wsuggest-attribute=format
flag.

Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 files changed:
include/linux/clkdev.h
include/linux/compat.h
include/linux/configfs.h
include/linux/cpu.h
include/linux/dcache.h
include/linux/device.h
include/linux/iommu.h
include/linux/kernel.h
include/linux/kobject.h
include/linux/mmiotrace.h
include/linux/printk.h
lib/kobject.c