diff options
| author | Nicolas Iooss <nicolas.iooss_linux@m4x.org> | 2015-07-17 16:23:42 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:15:15 -0700 |
| commit | 0e956d730359e3d140091d0d33458e7def246a3e (patch) | |
| tree | 34f09672dd1eaa5e334e6ed2761b411555862e23 /include/linux | |
| parent | fbf1b8f3fab32340ee2f21b71229b65547947f69 (diff) | |
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.
Change-Id: I17371bb8a1cc40cc0b56fcdded609cc24fe7e261
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>
[pdaly@codeaurora.org Resolve minor conflicts]
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/iommu.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 0a8bc3dceec6..b51913208c04 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -298,7 +298,7 @@ extern int iommu_domain_set_attr(struct iommu_domain *domain, enum iommu_attr, void *data); struct device *iommu_device_create(struct device *parent, void *drvdata, const struct attribute_group **groups, - const char *fmt, ...); + const char *fmt, ...) __printf(4, 5); void iommu_device_destroy(struct device *dev); int iommu_device_link(struct device *dev, struct device *link); void iommu_device_unlink(struct device *dev, struct device *link); |
