diff options
author | Joe Perches <joe@perches.com> | 2011-10-31 20:11:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-31 20:30:54 -0400 |
commit | b9075fa968a0a4347aef35e235e2995c0e57dddd (patch) | |
tree | cf9f9716784e790d8a43339653256d9cf9178ff3 /include | |
parent | ae29bc92da01a2e9d278a9a58c3b307d41cc0254 (diff) |
treewide: use __printf not __attribute__((format(printf,...)))
Standardize the style for compiler based printf format verification.
Standardized the location of __printf too.
Done via script and a little typing.
$ grep -rPl --include=*.[ch] -w "__attribute__" * | \
grep -vP "^(tools|scripts|include/linux/compiler-gcc.h)" | \
xargs perl -n -i -e 'local $/; while (<>) { s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf\s*,\s*(.+)\s*,\s*(.+)\s*\)\s*\)\s*\)/__printf($1, $2)/g ; print; }'
[akpm@linux-foundation.org: revert arch bits]
Signed-off-by: Joe Perches <joe@perches.com>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
32 files changed, 197 insertions, 220 deletions
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index dfb0ec666c94..84458b0c38d1 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h | |||
@@ -61,11 +61,12 @@ struct bug_entry { | |||
61 | */ | 61 | */ |
62 | #ifndef __WARN_TAINT | 62 | #ifndef __WARN_TAINT |
63 | #ifndef __ASSEMBLY__ | 63 | #ifndef __ASSEMBLY__ |
64 | extern void warn_slowpath_fmt(const char *file, const int line, | 64 | extern __printf(3, 4) |
65 | const char *fmt, ...) __attribute__((format(printf, 3, 4))); | 65 | void warn_slowpath_fmt(const char *file, const int line, |
66 | extern void warn_slowpath_fmt_taint(const char *file, const int line, | 66 | const char *fmt, ...); |
67 | unsigned taint, const char *fmt, ...) | 67 | extern __printf(4, 5) |
68 | __attribute__((format(printf, 4, 5))); | 68 | void warn_slowpath_fmt_taint(const char *file, const int line, unsigned taint, |
69 | const char *fmt, ...); | ||
69 | extern void warn_slowpath_null(const char *file, const int line); | 70 | extern void warn_slowpath_null(const char *file, const int line); |
70 | #define WANT_WARN_ON_SLOWPATH | 71 | #define WANT_WARN_ON_SLOWPATH |
71 | #endif | 72 | #endif |
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 43538b643560..cf3b446139ea 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
@@ -122,12 +122,12 @@ struct drm_device; | |||
122 | * using the DRM_DEBUG_KMS and DRM_DEBUG. | 122 | * using the DRM_DEBUG_KMS and DRM_DEBUG. |
123 | */ | 123 | */ |
124 | 124 | ||
125 | extern __attribute__((format (printf, 4, 5))) | 125 | extern __printf(4, 5) |
126 | void drm_ut_debug_printk(unsigned int request_level, | 126 | void drm_ut_debug_printk(unsigned int request_level, |
127 | const char *prefix, | 127 | const char *prefix, |
128 | const char *function_name, | 128 | const char *function_name, |
129 | const char *format, ...); | 129 | const char *format, ...); |
130 | extern __attribute__((format (printf, 2, 3))) | 130 | extern __printf(2, 3) |
131 | int drm_err(const char *func, const char *format, ...); | 131 | int drm_err(const char *func, const char *format, ...); |
132 | 132 | ||
133 | /***********************************************************************/ | 133 | /***********************************************************************/ |
diff --git a/include/linux/audit.h b/include/linux/audit.h index 0c8006129fb2..2f81c6f3b630 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
@@ -584,14 +584,13 @@ extern int audit_signals; | |||
584 | #ifdef CONFIG_AUDIT | 584 | #ifdef CONFIG_AUDIT |
585 | /* These are defined in audit.c */ | 585 | /* These are defined in audit.c */ |
586 | /* Public API */ | 586 | /* Public API */ |
587 | extern void audit_log(struct audit_context *ctx, gfp_t gfp_mask, | 587 | extern __printf(4, 5) |
588 | int type, const char *fmt, ...) | 588 | void audit_log(struct audit_context *ctx, gfp_t gfp_mask, int type, |
589 | __attribute__((format(printf,4,5))); | 589 | const char *fmt, ...); |
590 | 590 | ||
591 | extern struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask, int type); | 591 | extern struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask, int type); |
592 | extern void audit_log_format(struct audit_buffer *ab, | 592 | extern __printf(2, 3) |
593 | const char *fmt, ...) | 593 | void audit_log_format(struct audit_buffer *ab, const char *fmt, ...); |
594 | __attribute__((format(printf,2,3))); | ||
595 | extern void audit_log_end(struct audit_buffer *ab); | 594 | extern void audit_log_end(struct audit_buffer *ab); |
596 | extern int audit_string_contains_control(const char *string, | 595 | extern int audit_string_contains_control(const char *string, |
597 | size_t len); | 596 | size_t len); |
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h index 8e9e4bc6d73b..4d1a0748eaf8 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h | |||
@@ -170,7 +170,7 @@ extern void blk_trace_shutdown(struct request_queue *); | |||
170 | extern int do_blk_trace_setup(struct request_queue *q, char *name, | 170 | extern int do_blk_trace_setup(struct request_queue *q, char *name, |
171 | dev_t dev, struct block_device *bdev, | 171 | dev_t dev, struct block_device *bdev, |
172 | struct blk_user_trace_setup *buts); | 172 | struct blk_user_trace_setup *buts); |
173 | extern __attribute__((format(printf, 2, 3))) | 173 | extern __printf(2, 3) |
174 | void __trace_note_message(struct blk_trace *, const char *fmt, ...); | 174 | void __trace_note_message(struct blk_trace *, const char *fmt, ...); |
175 | 175 | ||
176 | /** | 176 | /** |
diff --git a/include/linux/device.h b/include/linux/device.h index 85e78fc7d7fd..e88abeecfadf 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -622,8 +622,8 @@ static inline const char *dev_name(const struct device *dev) | |||
622 | return kobject_name(&dev->kobj); | 622 | return kobject_name(&dev->kobj); |
623 | } | 623 | } |
624 | 624 | ||
625 | extern int dev_set_name(struct device *dev, const char *name, ...) | 625 | extern __printf(2, 3) |
626 | __attribute__((format(printf, 2, 3))); | 626 | int dev_set_name(struct device *dev, const char *name, ...); |
627 | 627 | ||
628 | #ifdef CONFIG_NUMA | 628 | #ifdef CONFIG_NUMA |
629 | static inline int dev_to_node(struct device *dev) | 629 | static inline int dev_to_node(struct device *dev) |
@@ -753,10 +753,10 @@ extern struct device *device_create_vargs(struct class *cls, | |||
753 | void *drvdata, | 753 | void *drvdata, |
754 | const char *fmt, | 754 | const char *fmt, |
755 | va_list vargs); | 755 | va_list vargs); |
756 | extern struct device *device_create(struct class *cls, struct device *parent, | 756 | extern __printf(5, 6) |
757 | dev_t devt, void *drvdata, | 757 | struct device *device_create(struct class *cls, struct device *parent, |
758 | const char *fmt, ...) | 758 | dev_t devt, void *drvdata, |
759 | __attribute__((format(printf, 5, 6))); | 759 | const char *fmt, ...); |
760 | extern void device_destroy(struct class *cls, dev_t devt); | 760 | extern void device_destroy(struct class *cls, dev_t devt); |
761 | 761 | ||
762 | /* | 762 | /* |
@@ -800,64 +800,56 @@ extern const char *dev_driver_string(const struct device *dev); | |||
800 | 800 | ||
801 | extern int __dev_printk(const char *level, const struct device *dev, | 801 | extern int __dev_printk(const char *level, const struct device *dev, |
802 | struct va_format *vaf); | 802 | struct va_format *vaf); |
803 | extern int dev_printk(const char *level, const struct device *dev, | 803 | extern __printf(3, 4) |
804 | const char *fmt, ...) | 804 | int dev_printk(const char *level, const struct device *dev, |
805 | __attribute__ ((format (printf, 3, 4))); | 805 | const char *fmt, ...) |
806 | extern int dev_emerg(const struct device *dev, const char *fmt, ...) | 806 | ; |
807 | __attribute__ ((format (printf, 2, 3))); | 807 | extern __printf(2, 3) |
808 | extern int dev_alert(const struct device *dev, const char *fmt, ...) | 808 | int dev_emerg(const struct device *dev, const char *fmt, ...); |
809 | __attribute__ ((format (printf, 2, 3))); | 809 | extern __printf(2, 3) |
810 | extern int dev_crit(const struct device *dev, const char *fmt, ...) | 810 | int dev_alert(const struct device *dev, const char *fmt, ...); |
811 | __attribute__ ((format (printf, 2, 3))); | 811 | extern __printf(2, 3) |
812 | extern int dev_err(const struct device *dev, const char *fmt, ...) | 812 | int dev_crit(const struct device *dev, const char *fmt, ...); |
813 | __attribute__ ((format (printf, 2, 3))); | 813 | extern __printf(2, 3) |
814 | extern int dev_warn(const struct device *dev, const char *fmt, ...) | 814 | int dev_err(const struct device *dev, const char *fmt, ...); |
815 | __attribute__ ((format (printf, 2, 3))); | 815 | extern __printf(2, 3) |
816 | extern int dev_notice(const struct device *dev, const char *fmt, ...) | 816 | int dev_warn(const struct device *dev, const char *fmt, ...); |
817 | __attribute__ ((format (printf, 2, 3))); | 817 | extern __printf(2, 3) |
818 | extern int _dev_info(const struct device *dev, const char *fmt, ...) | 818 | int dev_notice(const struct device *dev, const char *fmt, ...); |
819 | __attribute__ ((format (printf, 2, 3))); | 819 | extern __printf(2, 3) |
820 | int _dev_info(const struct device *dev, const char *fmt, ...); | ||
820 | 821 | ||
821 | #else | 822 | #else |
822 | 823 | ||
823 | static inline int __dev_printk(const char *level, const struct device *dev, | 824 | static inline int __dev_printk(const char *level, const struct device *dev, |
824 | struct va_format *vaf) | 825 | struct va_format *vaf) |
825 | { return 0; } | 826 | { return 0; } |
826 | static inline int dev_printk(const char *level, const struct device *dev, | 827 | static inline __printf(3, 4) |
827 | const char *fmt, ...) | 828 | int dev_printk(const char *level, const struct device *dev, |
828 | __attribute__ ((format (printf, 3, 4))); | 829 | const char *fmt, ...) |
829 | static inline int dev_printk(const char *level, const struct device *dev, | 830 | { return 0; } |
830 | const char *fmt, ...) | 831 | |
831 | { return 0; } | 832 | static inline __printf(2, 3) |
832 | 833 | int dev_emerg(const struct device *dev, const char *fmt, ...) | |
833 | static inline int dev_emerg(const struct device *dev, const char *fmt, ...) | 834 | { return 0; } |
834 | __attribute__ ((format (printf, 2, 3))); | 835 | static inline __printf(2, 3) |
835 | static inline int dev_emerg(const struct device *dev, const char *fmt, ...) | 836 | int dev_crit(const struct device *dev, const char *fmt, ...) |
836 | { return 0; } | 837 | { return 0; } |
837 | static inline int dev_crit(const struct device *dev, const char *fmt, ...) | 838 | static inline __printf(2, 3) |
838 | __attribute__ ((format (printf, 2, 3))); | 839 | int dev_alert(const struct device *dev, const char *fmt, ...) |
839 | static inline int dev_crit(const struct device *dev, const char *fmt, ...) | 840 | { return 0; } |
840 | { return 0; } | 841 | static inline __printf(2, 3) |
841 | static inline int dev_alert(const struct device *dev, const char *fmt, ...) | 842 | int dev_err(const struct device *dev, const char *fmt, ...) |
842 | __attribute__ ((format (printf, 2, 3))); | 843 | { return 0; } |
843 | static inline int dev_alert(const struct device *dev, const char *fmt, ...) | 844 | static inline __printf(2, 3) |
844 | { return 0; } | 845 | int dev_warn(const struct device *dev, const char *fmt, ...) |
845 | static inline int dev_err(const struct device *dev, const char *fmt, ...) | 846 | { return 0; } |
846 | __attribute__ ((format (printf, 2, 3))); | 847 | static inline __printf(2, 3) |
847 | static inline int dev_err(const struct device *dev, const char *fmt, ...) | 848 | int dev_notice(const struct device *dev, const char *fmt, ...) |
848 | { return 0; } | 849 | { return 0; } |
849 | static inline int dev_warn(const struct device *dev, const char *fmt, ...) | 850 | static inline __printf(2, 3) |
850 | __attribute__ ((format (printf, 2, 3))); | 851 | int _dev_info(const struct device *dev, const char *fmt, ...) |
851 | static inline int dev_warn(const struct device *dev, const char *fmt, ...) | 852 | { return 0; } |
852 | { return 0; } | ||
853 | static inline int dev_notice(const struct device *dev, const char *fmt, ...) | ||
854 | __attribute__ ((format (printf, 2, 3))); | ||
855 | static inline int dev_notice(const struct device *dev, const char *fmt, ...) | ||
856 | { return 0; } | ||
857 | static inline int _dev_info(const struct device *dev, const char *fmt, ...) | ||
858 | __attribute__ ((format (printf, 2, 3))); | ||
859 | static inline int _dev_info(const struct device *dev, const char *fmt, ...) | ||
860 | { return 0; } | ||
861 | 853 | ||
862 | #endif | 854 | #endif |
863 | 855 | ||
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 13aae8087b56..0564e3c39882 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h | |||
@@ -37,22 +37,21 @@ int ddebug_add_module(struct _ddebug *tab, unsigned int n, | |||
37 | 37 | ||
38 | #if defined(CONFIG_DYNAMIC_DEBUG) | 38 | #if defined(CONFIG_DYNAMIC_DEBUG) |
39 | extern int ddebug_remove_module(const char *mod_name); | 39 | extern int ddebug_remove_module(const char *mod_name); |
40 | extern int __dynamic_pr_debug(struct _ddebug *descriptor, const char *fmt, ...) | 40 | extern __printf(2, 3) |
41 | __attribute__ ((format (printf, 2, 3))); | 41 | int __dynamic_pr_debug(struct _ddebug *descriptor, const char *fmt, ...); |
42 | 42 | ||
43 | struct device; | 43 | struct device; |
44 | 44 | ||
45 | extern int __dynamic_dev_dbg(struct _ddebug *descriptor, | 45 | extern __printf(3, 4) |
46 | const struct device *dev, | 46 | int __dynamic_dev_dbg(struct _ddebug *descriptor, const struct device *dev, |
47 | const char *fmt, ...) | 47 | const char *fmt, ...); |
48 | __attribute__ ((format (printf, 3, 4))); | ||
49 | 48 | ||
50 | struct net_device; | 49 | struct net_device; |
51 | 50 | ||
52 | extern int __dynamic_netdev_dbg(struct _ddebug *descriptor, | 51 | extern __printf(3, 4) |
53 | const struct net_device *dev, | 52 | int __dynamic_netdev_dbg(struct _ddebug *descriptor, |
54 | const char *fmt, ...) | 53 | const struct net_device *dev, |
55 | __attribute__ ((format (printf, 3, 4))); | 54 | const char *fmt, ...); |
56 | 55 | ||
57 | #define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \ | 56 | #define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \ |
58 | static struct _ddebug __used __aligned(8) \ | 57 | static struct _ddebug __used __aligned(8) \ |
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h index 67a803aee619..81965cce6bfa 100644 --- a/include/linux/ext3_fs.h +++ b/include/linux/ext3_fs.h | |||
@@ -937,15 +937,15 @@ extern int ext3_group_extend(struct super_block *sb, | |||
937 | ext3_fsblk_t n_blocks_count); | 937 | ext3_fsblk_t n_blocks_count); |
938 | 938 | ||
939 | /* super.c */ | 939 | /* super.c */ |
940 | extern void ext3_error (struct super_block *, const char *, const char *, ...) | 940 | extern __printf(3, 4) |
941 | __attribute__ ((format (printf, 3, 4))); | 941 | void ext3_error(struct super_block *, const char *, const char *, ...); |
942 | extern void __ext3_std_error (struct super_block *, const char *, int); | 942 | extern void __ext3_std_error (struct super_block *, const char *, int); |
943 | extern void ext3_abort (struct super_block *, const char *, const char *, ...) | 943 | extern __printf(3, 4) |
944 | __attribute__ ((format (printf, 3, 4))); | 944 | void ext3_abort(struct super_block *, const char *, const char *, ...); |
945 | extern void ext3_warning (struct super_block *, const char *, const char *, ...) | 945 | extern __printf(3, 4) |
946 | __attribute__ ((format (printf, 3, 4))); | 946 | void ext3_warning(struct super_block *, const char *, const char *, ...); |
947 | extern void ext3_msg(struct super_block *, const char *, const char *, ...) | 947 | extern __printf(3, 4) |
948 | __attribute__ ((format (printf, 3, 4))); | 948 | void ext3_msg(struct super_block *, const char *, const char *, ...); |
949 | extern void ext3_update_dynamic_rev (struct super_block *sb); | 949 | extern void ext3_update_dynamic_rev (struct super_block *sb); |
950 | 950 | ||
951 | #define ext3_std_error(sb, errno) \ | 951 | #define ext3_std_error(sb, errno) \ |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 87b4c6b9692d..7a049fd2aa4c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -2635,8 +2635,8 @@ static const struct file_operations __fops = { \ | |||
2635 | .llseek = generic_file_llseek, \ | 2635 | .llseek = generic_file_llseek, \ |
2636 | }; | 2636 | }; |
2637 | 2637 | ||
2638 | static inline void __attribute__((format(printf, 1, 2))) | 2638 | static inline __printf(1, 2) |
2639 | __simple_attr_check_format(const char *fmt, ...) | 2639 | void __simple_attr_check_format(const char *fmt, ...) |
2640 | { | 2640 | { |
2641 | /* don't do anything, just let the compiler check the arguments; */ | 2641 | /* don't do anything, just let the compiler check the arguments; */ |
2642 | } | 2642 | } |
diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h index af095b54502e..ce31408b1e47 100644 --- a/include/linux/fscache-cache.h +++ b/include/linux/fscache-cache.h | |||
@@ -492,10 +492,10 @@ static inline void fscache_end_io(struct fscache_retrieval *op, | |||
492 | /* | 492 | /* |
493 | * out-of-line cache backend functions | 493 | * out-of-line cache backend functions |
494 | */ | 494 | */ |
495 | extern void fscache_init_cache(struct fscache_cache *cache, | 495 | extern __printf(3, 4) |
496 | const struct fscache_cache_ops *ops, | 496 | void fscache_init_cache(struct fscache_cache *cache, |
497 | const char *idfmt, | 497 | const struct fscache_cache_ops *ops, |
498 | ...) __attribute__ ((format (printf, 3, 4))); | 498 | const char *idfmt, ...); |
499 | 499 | ||
500 | extern int fscache_add_cache(struct fscache_cache *cache, | 500 | extern int fscache_add_cache(struct fscache_cache *cache, |
501 | struct fscache_object *fsdef, | 501 | struct fscache_object *fsdef, |
diff --git a/include/linux/gameport.h b/include/linux/gameport.h index b65a6f472775..069ee4139105 100644 --- a/include/linux/gameport.h +++ b/include/linux/gameport.h | |||
@@ -78,8 +78,8 @@ static inline void gameport_register_port(struct gameport *gameport) | |||
78 | 78 | ||
79 | void gameport_unregister_port(struct gameport *gameport); | 79 | void gameport_unregister_port(struct gameport *gameport); |
80 | 80 | ||
81 | void gameport_set_phys(struct gameport *gameport, const char *fmt, ...) | 81 | __printf(2, 3) |
82 | __attribute__ ((format (printf, 2, 3))); | 82 | void gameport_set_phys(struct gameport *gameport, const char *fmt, ...); |
83 | 83 | ||
84 | #else | 84 | #else |
85 | 85 | ||
@@ -93,8 +93,8 @@ static inline void gameport_unregister_port(struct gameport *gameport) | |||
93 | return; | 93 | return; |
94 | } | 94 | } |
95 | 95 | ||
96 | static inline void gameport_set_phys(struct gameport *gameport, | 96 | static inline __printf(2, 3) |
97 | const char *fmt, ...) | 97 | void gameport_set_phys(struct gameport *gameport, const char *fmt, ...) |
98 | { | 98 | { |
99 | return; | 99 | return; |
100 | } | 100 | } |
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index 0df513b7a9f8..387571959dd9 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h | |||
@@ -101,9 +101,8 @@ static inline int lookup_symbol_attrs(unsigned long addr, unsigned long *size, u | |||
101 | #endif /*CONFIG_KALLSYMS*/ | 101 | #endif /*CONFIG_KALLSYMS*/ |
102 | 102 | ||
103 | /* This macro allows us to keep printk typechecking */ | 103 | /* This macro allows us to keep printk typechecking */ |
104 | static void __check_printsym_format(const char *fmt, ...) | 104 | static __printf(1, 2) |
105 | __attribute__((format(printf,1,2))); | 105 | void __check_printsym_format(const char *fmt, ...) |
106 | static inline void __check_printsym_format(const char *fmt, ...) | ||
107 | { | 106 | { |
108 | } | 107 | } |
109 | 108 | ||
diff --git a/include/linux/kdb.h b/include/linux/kdb.h index 529d9a0c75a5..064725854db8 100644 --- a/include/linux/kdb.h +++ b/include/linux/kdb.h | |||
@@ -114,12 +114,9 @@ typedef enum { | |||
114 | } kdb_reason_t; | 114 | } kdb_reason_t; |
115 | 115 | ||
116 | extern int kdb_trap_printk; | 116 | extern int kdb_trap_printk; |
117 | extern int vkdb_printf(const char *fmt, va_list args) | 117 | extern __printf(1, 0) int vkdb_printf(const char *fmt, va_list args); |
118 | __attribute__ ((format (printf, 1, 0))); | 118 | extern __printf(1, 2) int kdb_printf(const char *, ...); |
119 | extern int kdb_printf(const char *, ...) | 119 | typedef __printf(1, 2) int (*kdb_printf_t)(const char *, ...); |
120 | __attribute__ ((format (printf, 1, 2))); | ||
121 | typedef int (*kdb_printf_t)(const char *, ...) | ||
122 | __attribute__ ((format (printf, 1, 2))); | ||
123 | 120 | ||
124 | extern void kdb_init(int level); | 121 | extern void kdb_init(int level); |
125 | 122 | ||
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 8eefcf7e95eb..e40c950e1d62 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -296,20 +296,18 @@ extern long long simple_strtoll(const char *,char **,unsigned int); | |||
296 | #define strict_strtoull kstrtoull | 296 | #define strict_strtoull kstrtoull |
297 | #define strict_strtoll kstrtoll | 297 | #define strict_strtoll kstrtoll |
298 | 298 | ||
299 | extern int sprintf(char * buf, const char * fmt, ...) | 299 | extern __printf(2, 3) int sprintf(char *buf, const char * fmt, ...); |
300 | __attribute__ ((format (printf, 2, 3))); | 300 | extern __printf(2, 0) int vsprintf(char *buf, const char *, va_list); |
301 | extern int vsprintf(char *buf, const char *, va_list) | 301 | extern __printf(3, 4) |
302 | __attribute__ ((format (printf, 2, 0))); | 302 | int snprintf(char *buf, size_t size, const char *fmt, ...); |
303 | extern int snprintf(char * buf, size_t size, const char * fmt, ...) | 303 | extern __printf(3, 0) |
304 | __attribute__ ((format (printf, 3, 4))); | 304 | int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); |
305 | extern int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) | 305 | extern __printf(3, 4) |
306 | __attribute__ ((format (printf, 3, 0))); | 306 | int scnprintf(char *buf, size_t size, const char *fmt, ...); |
307 | extern int scnprintf(char * buf, size_t size, const char * fmt, ...) | 307 | extern __printf(3, 0) |
308 | __attribute__ ((format (printf, 3, 4))); | 308 | int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); |
309 | extern int vscnprintf(char *buf, size_t size, const char *fmt, va_list args) | 309 | extern __printf(2, 3) |
310 | __attribute__ ((format (printf, 3, 0))); | 310 | char *kasprintf(gfp_t gfp, const char *fmt, ...); |
311 | extern char *kasprintf(gfp_t gfp, const char *fmt, ...) | ||
312 | __attribute__ ((format (printf, 2, 3))); | ||
313 | extern char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); | 311 | extern char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); |
314 | 312 | ||
315 | extern int sscanf(const char *, const char *, ...) | 313 | extern int sscanf(const char *, const char *, ...) |
@@ -427,8 +425,8 @@ extern void tracing_start(void); | |||
427 | extern void tracing_stop(void); | 425 | extern void tracing_stop(void); |
428 | extern void ftrace_off_permanent(void); | 426 | extern void ftrace_off_permanent(void); |
429 | 427 | ||
430 | static inline void __attribute__ ((format (printf, 1, 2))) | 428 | static inline __printf(1, 2) |
431 | ____trace_printk_check_format(const char *fmt, ...) | 429 | void ____trace_printk_check_format(const char *fmt, ...) |
432 | { | 430 | { |
433 | } | 431 | } |
434 | #define __trace_printk_check_format(fmt, args...) \ | 432 | #define __trace_printk_check_format(fmt, args...) \ |
@@ -467,13 +465,11 @@ do { \ | |||
467 | __trace_printk(_THIS_IP_, fmt, ##args); \ | 465 | __trace_printk(_THIS_IP_, fmt, ##args); \ |
468 | } while (0) | 466 | } while (0) |
469 | 467 | ||
470 | extern int | 468 | extern __printf(2, 3) |
471 | __trace_bprintk(unsigned long ip, const char *fmt, ...) | 469 | int __trace_bprintk(unsigned long ip, const char *fmt, ...); |
472 | __attribute__ ((format (printf, 2, 3))); | ||
473 | 470 | ||
474 | extern int | 471 | extern __printf(2, 3) |
475 | __trace_printk(unsigned long ip, const char *fmt, ...) | 472 | int __trace_printk(unsigned long ip, const char *fmt, ...); |
476 | __attribute__ ((format (printf, 2, 3))); | ||
477 | 473 | ||
478 | extern void trace_dump_stack(void); | 474 | extern void trace_dump_stack(void); |
479 | 475 | ||
@@ -502,8 +498,8 @@ __ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap); | |||
502 | 498 | ||
503 | extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode); | 499 | extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode); |
504 | #else | 500 | #else |
505 | static inline int | 501 | static inline __printf(1, 2) |
506 | trace_printk(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); | 502 | int trace_printk(const char *fmt, ...); |
507 | 503 | ||
508 | static inline void tracing_start(void) { } | 504 | static inline void tracing_start(void) { } |
509 | static inline void tracing_stop(void) { } | 505 | static inline void tracing_stop(void) { } |
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index c2478a342cd7..8944ebe7963e 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
@@ -130,8 +130,8 @@ int kexec_should_crash(struct task_struct *); | |||
130 | void crash_save_cpu(struct pt_regs *regs, int cpu); | 130 | void crash_save_cpu(struct pt_regs *regs, int cpu); |
131 | void crash_save_vmcoreinfo(void); | 131 | void crash_save_vmcoreinfo(void); |
132 | void arch_crash_save_vmcoreinfo(void); | 132 | void arch_crash_save_vmcoreinfo(void); |
133 | void vmcoreinfo_append_str(const char *fmt, ...) | 133 | __printf(1, 2) |
134 | __attribute__ ((format (printf, 1, 2))); | 134 | void vmcoreinfo_append_str(const char *fmt, ...); |
135 | unsigned long paddr_vmcoreinfo_note(void); | 135 | unsigned long paddr_vmcoreinfo_note(void); |
136 | 136 | ||
137 | #define VMCOREINFO_OSRELEASE(value) \ | 137 | #define VMCOREINFO_OSRELEASE(value) \ |
diff --git a/include/linux/kmod.h b/include/linux/kmod.h index 0da38cf7db7b..b16f65390734 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h | |||
@@ -32,8 +32,8 @@ | |||
32 | extern char modprobe_path[]; /* for sysctl */ | 32 | extern char modprobe_path[]; /* for sysctl */ |
33 | /* modprobe exit status on success, -ve on error. Return value | 33 | /* modprobe exit status on success, -ve on error. Return value |
34 | * usually useless though. */ | 34 | * usually useless though. */ |
35 | extern int __request_module(bool wait, const char *name, ...) \ | 35 | extern __printf(2, 3) |
36 | __attribute__((format(printf, 2, 3))); | 36 | int __request_module(bool wait, const char *name, ...); |
37 | #define request_module(mod...) __request_module(true, mod) | 37 | #define request_module(mod...) __request_module(true, mod) |
38 | #define request_module_nowait(mod...) __request_module(false, mod) | 38 | #define request_module_nowait(mod...) __request_module(false, mod) |
39 | #define try_then_request_module(x, mod...) \ | 39 | #define try_then_request_module(x, mod...) \ |
diff --git a/include/linux/kobject.h b/include/linux/kobject.h index 668729cc0fe9..ad81e1c51487 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h | |||
@@ -72,8 +72,8 @@ struct kobject { | |||
72 | unsigned int uevent_suppress:1; | 72 | unsigned int uevent_suppress:1; |
73 | }; | 73 | }; |
74 | 74 | ||
75 | extern int kobject_set_name(struct kobject *kobj, const char *name, ...) | 75 | extern __printf(2, 3) |
76 | __attribute__((format(printf, 2, 3))); | 76 | int kobject_set_name(struct kobject *kobj, const char *name, ...); |
77 | extern int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, | 77 | extern int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, |
78 | va_list vargs); | 78 | va_list vargs); |
79 | 79 | ||
@@ -83,15 +83,13 @@ static inline const char *kobject_name(const struct kobject *kobj) | |||
83 | } | 83 | } |
84 | 84 | ||
85 | extern void kobject_init(struct kobject *kobj, struct kobj_type *ktype); | 85 | extern void kobject_init(struct kobject *kobj, struct kobj_type *ktype); |
86 | extern int __must_check kobject_add(struct kobject *kobj, | 86 | extern __printf(3, 4) __must_check |
87 | struct kobject *parent, | 87 | int kobject_add(struct kobject *kobj, struct kobject *parent, |
88 | const char *fmt, ...) | 88 | const char *fmt, ...); |
89 | __attribute__((format(printf, 3, 4))); | 89 | extern __printf(4, 5) __must_check |
90 | extern int __must_check kobject_init_and_add(struct kobject *kobj, | 90 | int kobject_init_and_add(struct kobject *kobj, |
91 | struct kobj_type *ktype, | 91 | struct kobj_type *ktype, struct kobject *parent, |
92 | struct kobject *parent, | 92 | const char *fmt, ...); |
93 | const char *fmt, ...) | ||
94 | __attribute__((format(printf, 4, 5))); | ||
95 | 93 | ||
96 | extern void kobject_del(struct kobject *kobj); | 94 | extern void kobject_del(struct kobject *kobj); |
97 | 95 | ||
@@ -212,8 +210,8 @@ int kobject_uevent(struct kobject *kobj, enum kobject_action action); | |||
212 | int kobject_uevent_env(struct kobject *kobj, enum kobject_action action, | 210 | int kobject_uevent_env(struct kobject *kobj, enum kobject_action action, |
213 | char *envp[]); | 211 | char *envp[]); |
214 | 212 | ||
215 | int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...) | 213 | __printf(2, 3) |
216 | __attribute__((format (printf, 2, 3))); | 214 | int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...); |
217 | 215 | ||
218 | int kobject_action_type(const char *buf, size_t count, | 216 | int kobject_action_type(const char *buf, size_t count, |
219 | enum kobject_action *type); | 217 | enum kobject_action *type); |
@@ -226,7 +224,7 @@ static inline int kobject_uevent_env(struct kobject *kobj, | |||
226 | char *envp[]) | 224 | char *envp[]) |
227 | { return 0; } | 225 | { return 0; } |
228 | 226 | ||
229 | static inline __attribute__((format(printf, 2, 3))) | 227 | static inline __printf(2, 3) |
230 | int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...) | 228 | int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...) |
231 | { return 0; } | 229 | { return 0; } |
232 | 230 | ||
diff --git a/include/linux/kthread.h b/include/linux/kthread.h index 1e923e5e88e8..5cac19b3a266 100644 --- a/include/linux/kthread.h +++ b/include/linux/kthread.h | |||
@@ -4,11 +4,11 @@ | |||
4 | #include <linux/err.h> | 4 | #include <linux/err.h> |
5 | #include <linux/sched.h> | 5 | #include <linux/sched.h> |
6 | 6 | ||
7 | __printf(4, 5) | ||
7 | struct task_struct *kthread_create_on_node(int (*threadfn)(void *data), | 8 | struct task_struct *kthread_create_on_node(int (*threadfn)(void *data), |
8 | void *data, | 9 | void *data, |
9 | int node, | 10 | int node, |
10 | const char namefmt[], ...) | 11 | const char namefmt[], ...); |
11 | __attribute__((format(printf, 4, 5))); | ||
12 | 12 | ||
13 | #define kthread_create(threadfn, data, namefmt, arg...) \ | 13 | #define kthread_create(threadfn, data, namefmt, arg...) \ |
14 | kthread_create_on_node(threadfn, data, -1, namefmt, ##arg) | 14 | kthread_create_on_node(threadfn, data, -1, namefmt, ##arg) |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 23fa829bf7a3..cafc09a64fe4 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -1256,13 +1256,13 @@ static inline int sata_srst_pmp(struct ata_link *link) | |||
1256 | /* | 1256 | /* |
1257 | * printk helpers | 1257 | * printk helpers |
1258 | */ | 1258 | */ |
1259 | __attribute__((format (printf, 3, 4))) | 1259 | __printf(3, 4) |
1260 | int ata_port_printk(const struct ata_port *ap, const char *level, | 1260 | int ata_port_printk(const struct ata_port *ap, const char *level, |
1261 | const char *fmt, ...); | 1261 | const char *fmt, ...); |
1262 | __attribute__((format (printf, 3, 4))) | 1262 | __printf(3, 4) |
1263 | int ata_link_printk(const struct ata_link *link, const char *level, | 1263 | int ata_link_printk(const struct ata_link *link, const char *level, |
1264 | const char *fmt, ...); | 1264 | const char *fmt, ...); |
1265 | __attribute__((format (printf, 3, 4))) | 1265 | __printf(3, 4) |
1266 | int ata_dev_printk(const struct ata_device *dev, const char *level, | 1266 | int ata_dev_printk(const struct ata_device *dev, const char *level, |
1267 | const char *fmt, ...); | 1267 | const char *fmt, ...); |
1268 | 1268 | ||
@@ -1304,10 +1304,10 @@ void ata_print_version(const struct device *dev, const char *version); | |||
1304 | /* | 1304 | /* |
1305 | * ata_eh_info helpers | 1305 | * ata_eh_info helpers |
1306 | */ | 1306 | */ |
1307 | extern void __ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...) | 1307 | extern __printf(2, 3) |
1308 | __attribute__ ((format (printf, 2, 3))); | 1308 | void __ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...); |
1309 | extern void ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...) | 1309 | extern __printf(2, 3) |
1310 | __attribute__ ((format (printf, 2, 3))); | 1310 | void ata_ehi_push_desc(struct ata_eh_info *ehi, const char *fmt, ...); |
1311 | extern void ata_ehi_clear_desc(struct ata_eh_info *ehi); | 1311 | extern void ata_ehi_clear_desc(struct ata_eh_info *ehi); |
1312 | 1312 | ||
1313 | static inline void ata_ehi_hotplugged(struct ata_eh_info *ehi) | 1313 | static inline void ata_ehi_hotplugged(struct ata_eh_info *ehi) |
@@ -1321,8 +1321,8 @@ static inline void ata_ehi_hotplugged(struct ata_eh_info *ehi) | |||
1321 | /* | 1321 | /* |
1322 | * port description helpers | 1322 | * port description helpers |
1323 | */ | 1323 | */ |
1324 | extern void ata_port_desc(struct ata_port *ap, const char *fmt, ...) | 1324 | extern __printf(2, 3) |
1325 | __attribute__ ((format (printf, 2, 3))); | 1325 | void ata_port_desc(struct ata_port *ap, const char *fmt, ...); |
1326 | #ifdef CONFIG_PCI | 1326 | #ifdef CONFIG_PCI |
1327 | extern void ata_port_pbar_desc(struct ata_port *ap, int bar, ssize_t offset, | 1327 | extern void ata_port_pbar_desc(struct ata_port *ap, int bar, ssize_t offset, |
1328 | const char *name); | 1328 | const char *name); |
diff --git a/include/linux/mmiotrace.h b/include/linux/mmiotrace.h index 97491f78b08c..c5d52780d6a0 100644 --- a/include/linux/mmiotrace.h +++ b/include/linux/mmiotrace.h | |||
@@ -49,8 +49,7 @@ extern void mmiotrace_ioremap(resource_size_t offset, unsigned long size, | |||
49 | extern void mmiotrace_iounmap(volatile void __iomem *addr); | 49 | extern void mmiotrace_iounmap(volatile void __iomem *addr); |
50 | 50 | ||
51 | /* For anyone to insert markers. Remember trailing newline. */ | 51 | /* For anyone to insert markers. Remember trailing newline. */ |
52 | extern int mmiotrace_printk(const char *fmt, ...) | 52 | extern __printf(1, 2) int mmiotrace_printk(const char *fmt, ...); |
53 | __attribute__ ((format (printf, 1, 2))); | ||
54 | #else /* !CONFIG_MMIOTRACE: */ | 53 | #else /* !CONFIG_MMIOTRACE: */ |
55 | static inline int is_kmmio_active(void) | 54 | static inline int is_kmmio_active(void) |
56 | { | 55 | { |
@@ -71,10 +70,7 @@ static inline void mmiotrace_iounmap(volatile void __iomem *addr) | |||
71 | { | 70 | { |
72 | } | 71 | } |
73 | 72 | ||
74 | static inline int mmiotrace_printk(const char *fmt, ...) | 73 | static inline __printf(1, 2) int mmiotrace_printk(const char *fmt, ...) |
75 | __attribute__ ((format (printf, 1, 0))); | ||
76 | |||
77 | static inline int mmiotrace_printk(const char *fmt, ...) | ||
78 | { | 74 | { |
79 | return 0; | 75 | return 0; |
80 | } | 76 | } |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index df1c836e6948..cbeb5867cff7 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -2622,23 +2622,23 @@ static inline const char *netdev_name(const struct net_device *dev) | |||
2622 | extern int __netdev_printk(const char *level, const struct net_device *dev, | 2622 | extern int __netdev_printk(const char *level, const struct net_device *dev, |
2623 | struct va_format *vaf); | 2623 | struct va_format *vaf); |
2624 | 2624 | ||
2625 | extern int netdev_printk(const char *level, const struct net_device *dev, | 2625 | extern __printf(3, 4) |
2626 | const char *format, ...) | 2626 | int netdev_printk(const char *level, const struct net_device *dev, |
2627 | __attribute__ ((format (printf, 3, 4))); | 2627 | const char *format, ...); |
2628 | extern int netdev_emerg(const struct net_device *dev, const char *format, ...) | 2628 | extern __printf(2, 3) |
2629 | __attribute__ ((format (printf, 2, 3))); | 2629 | int netdev_emerg(const struct net_device *dev, const char *format, ...); |
2630 | extern int netdev_alert(const struct net_device *dev, const char *format, ...) | 2630 | extern __printf(2, 3) |
2631 | __attribute__ ((format (printf, 2, 3))); | 2631 | int netdev_alert(const struct net_device *dev, const char *format, ...); |
2632 | extern int netdev_crit(const struct net_device *dev, const char *format, ...) | 2632 | extern __printf(2, 3) |
2633 | __attribute__ ((format (printf, 2, 3))); | 2633 | int netdev_crit(const struct net_device *dev, const char *format, ...); |
2634 | extern int netdev_err(const struct net_device *dev, const char *format, ...) | 2634 | extern __printf(2, 3) |
2635 | __attribute__ ((format (printf, 2, 3))); | 2635 | int netdev_err(const struct net_device *dev, const char *format, ...); |
2636 | extern int netdev_warn(const struct net_device *dev, const char *format, ...) | 2636 | extern __printf(2, 3) |
2637 | __attribute__ ((format (printf, 2, 3))); | 2637 | int netdev_warn(const struct net_device *dev, const char *format, ...); |
2638 | extern int netdev_notice(const struct net_device *dev, const char *format, ...) | 2638 | extern __printf(2, 3) |
2639 | __attribute__ ((format (printf, 2, 3))); | 2639 | int netdev_notice(const struct net_device *dev, const char *format, ...); |
2640 | extern int netdev_info(const struct net_device *dev, const char *format, ...) | 2640 | extern __printf(2, 3) |
2641 | __attribute__ ((format (printf, 2, 3))); | 2641 | int netdev_info(const struct net_device *dev, const char *format, ...); |
2642 | 2642 | ||
2643 | #define MODULE_ALIAS_NETDEV(device) \ | 2643 | #define MODULE_ALIAS_NETDEV(device) \ |
2644 | MODULE_ALIAS("netdev-" device) | 2644 | MODULE_ALIAS("netdev-" device) |
diff --git a/include/linux/printk.h b/include/linux/printk.h index 0101d55d9651..f0e22f75143f 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h | |||
@@ -82,22 +82,22 @@ struct va_format { | |||
82 | * Dummy printk for disabled debugging statements to use whilst maintaining | 82 | * Dummy printk for disabled debugging statements to use whilst maintaining |
83 | * gcc's format and side-effect checking. | 83 | * gcc's format and side-effect checking. |
84 | */ | 84 | */ |
85 | static inline __attribute__ ((format (printf, 1, 2))) | 85 | static inline __printf(1, 2) |
86 | int no_printk(const char *fmt, ...) | 86 | int no_printk(const char *fmt, ...) |
87 | { | 87 | { |
88 | return 0; | 88 | return 0; |
89 | } | 89 | } |
90 | 90 | ||
91 | extern asmlinkage __attribute__ ((format (printf, 1, 2))) | 91 | extern asmlinkage __printf(1, 2) |
92 | void early_printk(const char *fmt, ...); | 92 | void early_printk(const char *fmt, ...); |
93 | 93 | ||
94 | extern int printk_needs_cpu(int cpu); | 94 | extern int printk_needs_cpu(int cpu); |
95 | extern void printk_tick(void); | 95 | extern void printk_tick(void); |
96 | 96 | ||
97 | #ifdef CONFIG_PRINTK | 97 | #ifdef CONFIG_PRINTK |
98 | asmlinkage __attribute__ ((format (printf, 1, 0))) | 98 | asmlinkage __printf(1, 0) |
99 | int vprintk(const char *fmt, va_list args); | 99 | int vprintk(const char *fmt, va_list args); |
100 | asmlinkage __attribute__ ((format (printf, 1, 2))) __cold | 100 | asmlinkage __printf(1, 2) __cold |
101 | int printk(const char *fmt, ...); | 101 | int printk(const char *fmt, ...); |
102 | 102 | ||
103 | /* | 103 | /* |
@@ -117,12 +117,12 @@ extern int kptr_restrict; | |||
117 | void log_buf_kexec_setup(void); | 117 | void log_buf_kexec_setup(void); |
118 | void __init setup_log_buf(int early); | 118 | void __init setup_log_buf(int early); |
119 | #else | 119 | #else |
120 | static inline __attribute__ ((format (printf, 1, 0))) | 120 | static inline __printf(1, 0) |
121 | int vprintk(const char *s, va_list args) | 121 | int vprintk(const char *s, va_list args) |
122 | { | 122 | { |
123 | return 0; | 123 | return 0; |
124 | } | 124 | } |
125 | static inline __attribute__ ((format (printf, 1, 2))) __cold | 125 | static inline __printf(1, 2) __cold |
126 | int printk(const char *s, ...) | 126 | int printk(const char *s, ...) |
127 | { | 127 | { |
128 | return 0; | 128 | return 0; |
diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 26f9e3612e0f..d93f95e6177c 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h | |||
@@ -31,7 +31,7 @@ static inline bool is_quota_modification(struct inode *inode, struct iattr *ia) | |||
31 | #define quota_error(sb, fmt, args...) \ | 31 | #define quota_error(sb, fmt, args...) \ |
32 | __quota_error((sb), __func__, fmt , ## args) | 32 | __quota_error((sb), __func__, fmt , ## args) |
33 | 33 | ||
34 | extern __attribute__((format (printf, 3, 4))) | 34 | extern __printf(3, 4) |
35 | void __quota_error(struct super_block *sb, const char *func, | 35 | void __quota_error(struct super_block *sb, const char *func, |
36 | const char *fmt, ...); | 36 | const char *fmt, ...); |
37 | 37 | ||
diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h index be720cd2038d..0b69a4684216 100644 --- a/include/linux/seq_file.h +++ b/include/linux/seq_file.h | |||
@@ -84,8 +84,7 @@ int seq_putc(struct seq_file *m, char c); | |||
84 | int seq_puts(struct seq_file *m, const char *s); | 84 | int seq_puts(struct seq_file *m, const char *s); |
85 | int seq_write(struct seq_file *seq, const void *data, size_t len); | 85 | int seq_write(struct seq_file *seq, const void *data, size_t len); |
86 | 86 | ||
87 | int seq_printf(struct seq_file *, const char *, ...) | 87 | __printf(2, 3) int seq_printf(struct seq_file *, const char *, ...); |
88 | __attribute__ ((format (printf,2,3))); | ||
89 | 88 | ||
90 | int seq_path(struct seq_file *, struct path *, char *); | 89 | int seq_path(struct seq_file *, struct path *, char *); |
91 | int seq_dentry(struct seq_file *, struct dentry *, char *); | 90 | int seq_dentry(struct seq_file *, struct dentry *, char *); |
diff --git a/include/linux/trace_seq.h b/include/linux/trace_seq.h index 5cf397ceb726..7dadc3df0c77 100644 --- a/include/linux/trace_seq.h +++ b/include/linux/trace_seq.h | |||
@@ -29,10 +29,10 @@ trace_seq_init(struct trace_seq *s) | |||
29 | * Currently only defined when tracing is enabled. | 29 | * Currently only defined when tracing is enabled. |
30 | */ | 30 | */ |
31 | #ifdef CONFIG_TRACING | 31 | #ifdef CONFIG_TRACING |
32 | extern int trace_seq_printf(struct trace_seq *s, const char *fmt, ...) | 32 | extern __printf(2, 3) |
33 | __attribute__ ((format (printf, 2, 3))); | 33 | int trace_seq_printf(struct trace_seq *s, const char *fmt, ...); |
34 | extern int trace_seq_vprintf(struct trace_seq *s, const char *fmt, va_list args) | 34 | extern __printf(2, 0) |
35 | __attribute__ ((format (printf, 2, 0))); | 35 | int trace_seq_vprintf(struct trace_seq *s, const char *fmt, va_list args); |
36 | extern int | 36 | extern int |
37 | trace_seq_bprintf(struct trace_seq *s, const char *fmt, const u32 *binary); | 37 | trace_seq_bprintf(struct trace_seq *s, const char *fmt, const u32 *binary); |
38 | extern int trace_print_seq(struct seq_file *m, struct trace_seq *s); | 38 | extern int trace_print_seq(struct seq_file *m, struct trace_seq *s); |
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index e727555d4ee9..e86af08293a8 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
@@ -77,7 +77,7 @@ struct bt_power { | |||
77 | #define BT_POWER_FORCE_ACTIVE_OFF 0 | 77 | #define BT_POWER_FORCE_ACTIVE_OFF 0 |
78 | #define BT_POWER_FORCE_ACTIVE_ON 1 | 78 | #define BT_POWER_FORCE_ACTIVE_ON 1 |
79 | 79 | ||
80 | __attribute__((format (printf, 2, 3))) | 80 | __printf(2, 3) |
81 | int bt_printk(const char *level, const char *fmt, ...); | 81 | int bt_printk(const char *level, const char *fmt, ...); |
82 | 82 | ||
83 | #define BT_INFO(fmt, arg...) bt_printk(KERN_INFO, pr_fmt(fmt), ##arg) | 83 | #define BT_INFO(fmt, arg...) bt_printk(KERN_INFO, pr_fmt(fmt), ##arg) |
diff --git a/include/net/netfilter/nf_log.h b/include/net/netfilter/nf_log.h index 920997f1aff0..e991bd0a27af 100644 --- a/include/net/netfilter/nf_log.h +++ b/include/net/netfilter/nf_log.h | |||
@@ -53,12 +53,13 @@ int nf_log_bind_pf(u_int8_t pf, const struct nf_logger *logger); | |||
53 | void nf_log_unbind_pf(u_int8_t pf); | 53 | void nf_log_unbind_pf(u_int8_t pf); |
54 | 54 | ||
55 | /* Calls the registered backend logging function */ | 55 | /* Calls the registered backend logging function */ |
56 | __printf(7, 8) | ||
56 | void nf_log_packet(u_int8_t pf, | 57 | void nf_log_packet(u_int8_t pf, |
57 | unsigned int hooknum, | 58 | unsigned int hooknum, |
58 | const struct sk_buff *skb, | 59 | const struct sk_buff *skb, |
59 | const struct net_device *in, | 60 | const struct net_device *in, |
60 | const struct net_device *out, | 61 | const struct net_device *out, |
61 | const struct nf_loginfo *li, | 62 | const struct nf_loginfo *li, |
62 | const char *fmt, ...) __attribute__ ((format(printf,7,8))); | 63 | const char *fmt, ...); |
63 | 64 | ||
64 | #endif /* _NF_LOG_H */ | 65 | #endif /* _NF_LOG_H */ |
diff --git a/include/net/sock.h b/include/net/sock.h index 5ac682f73d63..c6658bef7f32 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -76,8 +76,8 @@ | |||
76 | printk(KERN_DEBUG msg); } while (0) | 76 | printk(KERN_DEBUG msg); } while (0) |
77 | #else | 77 | #else |
78 | /* Validate arguments and do nothing */ | 78 | /* Validate arguments and do nothing */ |
79 | static inline void __attribute__ ((format (printf, 2, 3))) | 79 | static inline __printf(2, 3) |
80 | SOCK_DEBUG(struct sock *sk, const char *msg, ...) | 80 | void SOCK_DEBUG(struct sock *sk, const char *msg, ...) |
81 | { | 81 | { |
82 | } | 82 | } |
83 | #endif | 83 | #endif |
diff --git a/include/sound/core.h b/include/sound/core.h index 1fa2407c966f..91d513879a78 100644 --- a/include/sound/core.h +++ b/include/sound/core.h | |||
@@ -326,9 +326,9 @@ void release_and_free_resource(struct resource *res); | |||
326 | /* --- */ | 326 | /* --- */ |
327 | 327 | ||
328 | #if defined(CONFIG_SND_DEBUG) || defined(CONFIG_SND_VERBOSE_PRINTK) | 328 | #if defined(CONFIG_SND_DEBUG) || defined(CONFIG_SND_VERBOSE_PRINTK) |
329 | __printf(4, 5) | ||
329 | void __snd_printk(unsigned int level, const char *file, int line, | 330 | void __snd_printk(unsigned int level, const char *file, int line, |
330 | const char *format, ...) | 331 | const char *format, ...); |
331 | __attribute__ ((format (printf, 4, 5))); | ||
332 | #else | 332 | #else |
333 | #define __snd_printk(level, file, line, format, args...) \ | 333 | #define __snd_printk(level, file, line, format, args...) \ |
334 | printk(format, ##args) | 334 | printk(format, ##args) |
diff --git a/include/sound/info.h b/include/sound/info.h index 4e94cf1ff762..5492cc40dc57 100644 --- a/include/sound/info.h +++ b/include/sound/info.h | |||
@@ -110,8 +110,8 @@ void snd_card_info_read_oss(struct snd_info_buffer *buffer); | |||
110 | static inline void snd_card_info_read_oss(struct snd_info_buffer *buffer) {} | 110 | static inline void snd_card_info_read_oss(struct snd_info_buffer *buffer) {} |
111 | #endif | 111 | #endif |
112 | 112 | ||
113 | int snd_iprintf(struct snd_info_buffer *buffer, const char *fmt, ...) \ | 113 | __printf(2, 3) |
114 | __attribute__ ((format (printf, 2, 3))); | 114 | int snd_iprintf(struct snd_info_buffer *buffer, const char *fmt, ...); |
115 | int snd_info_init(void); | 115 | int snd_info_init(void); |
116 | int snd_info_done(void); | 116 | int snd_info_done(void); |
117 | 117 | ||
diff --git a/include/sound/seq_kernel.h b/include/sound/seq_kernel.h index 3d9afb6a8c9c..f352a98ce4f4 100644 --- a/include/sound/seq_kernel.h +++ b/include/sound/seq_kernel.h | |||
@@ -75,9 +75,9 @@ struct snd_seq_port_callback { | |||
75 | }; | 75 | }; |
76 | 76 | ||
77 | /* interface for kernel client */ | 77 | /* interface for kernel client */ |
78 | __printf(3, 4) | ||
78 | int snd_seq_create_kernel_client(struct snd_card *card, int client_index, | 79 | int snd_seq_create_kernel_client(struct snd_card *card, int client_index, |
79 | const char *name_fmt, ...) | 80 | const char *name_fmt, ...); |
80 | __attribute__ ((format (printf, 3, 4))); | ||
81 | int snd_seq_delete_kernel_client(int client); | 81 | int snd_seq_delete_kernel_client(int client); |
82 | int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event *ev, int atomic, int hop); | 82 | int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event *ev, int atomic, int hop); |
83 | int snd_seq_kernel_client_dispatch(int client, struct snd_seq_event *ev, int atomic, int hop); | 83 | int snd_seq_kernel_client_dispatch(int client, struct snd_seq_event *ev, int atomic, int hop); |
diff --git a/include/xen/hvc-console.h b/include/xen/hvc-console.h index 901724dc528d..b62dfef15f61 100644 --- a/include/xen/hvc-console.h +++ b/include/xen/hvc-console.h | |||
@@ -6,12 +6,12 @@ extern struct console xenboot_console; | |||
6 | #ifdef CONFIG_HVC_XEN | 6 | #ifdef CONFIG_HVC_XEN |
7 | void xen_console_resume(void); | 7 | void xen_console_resume(void); |
8 | void xen_raw_console_write(const char *str); | 8 | void xen_raw_console_write(const char *str); |
9 | __attribute__((format(printf, 1, 2))) | 9 | __printf(1, 2) |
10 | void xen_raw_printk(const char *fmt, ...); | 10 | void xen_raw_printk(const char *fmt, ...); |
11 | #else | 11 | #else |
12 | static inline void xen_console_resume(void) { } | 12 | static inline void xen_console_resume(void) { } |
13 | static inline void xen_raw_console_write(const char *str) { } | 13 | static inline void xen_raw_console_write(const char *str) { } |
14 | static inline __attribute__((format(printf, 1, 2))) | 14 | static inline __printf(1, 2) |
15 | void xen_raw_printk(const char *fmt, ...) { } | 15 | void xen_raw_printk(const char *fmt, ...) { } |
16 | #endif | 16 | #endif |
17 | 17 | ||
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h index aceeca799fd7..b9f9fb5af0d8 100644 --- a/include/xen/xenbus.h +++ b/include/xen/xenbus.h | |||
@@ -156,9 +156,9 @@ int xenbus_scanf(struct xenbus_transaction t, | |||
156 | __attribute__((format(scanf, 4, 5))); | 156 | __attribute__((format(scanf, 4, 5))); |
157 | 157 | ||
158 | /* Single printf and write: returns -errno or 0. */ | 158 | /* Single printf and write: returns -errno or 0. */ |
159 | __printf(4, 5) | ||
159 | int xenbus_printf(struct xenbus_transaction t, | 160 | int xenbus_printf(struct xenbus_transaction t, |
160 | const char *dir, const char *node, const char *fmt, ...) | 161 | const char *dir, const char *node, const char *fmt, ...); |
161 | __attribute__((format(printf, 4, 5))); | ||
162 | 162 | ||
163 | /* Generic read function: NULL-terminated triples of name, | 163 | /* Generic read function: NULL-terminated triples of name, |
164 | * sprintf-style type string, and pointer. Returns 0 or errno.*/ | 164 | * sprintf-style type string, and pointer. Returns 0 or errno.*/ |
@@ -200,11 +200,11 @@ int xenbus_watch_path(struct xenbus_device *dev, const char *path, | |||
200 | struct xenbus_watch *watch, | 200 | struct xenbus_watch *watch, |
201 | void (*callback)(struct xenbus_watch *, | 201 | void (*callback)(struct xenbus_watch *, |
202 | const char **, unsigned int)); | 202 | const char **, unsigned int)); |
203 | __printf(4, 5) | ||
203 | int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch, | 204 | int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch, |
204 | void (*callback)(struct xenbus_watch *, | 205 | void (*callback)(struct xenbus_watch *, |
205 | const char **, unsigned int), | 206 | const char **, unsigned int), |
206 | const char *pathfmt, ...) | 207 | const char *pathfmt, ...); |
207 | __attribute__ ((format (printf, 4, 5))); | ||
208 | 208 | ||
209 | int xenbus_switch_state(struct xenbus_device *dev, enum xenbus_state new_state); | 209 | int xenbus_switch_state(struct xenbus_device *dev, enum xenbus_state new_state); |
210 | int xenbus_grant_ring(struct xenbus_device *dev, unsigned long ring_mfn); | 210 | int xenbus_grant_ring(struct xenbus_device *dev, unsigned long ring_mfn); |
@@ -223,9 +223,9 @@ int xenbus_free_evtchn(struct xenbus_device *dev, int port); | |||
223 | 223 | ||
224 | enum xenbus_state xenbus_read_driver_state(const char *path); | 224 | enum xenbus_state xenbus_read_driver_state(const char *path); |
225 | 225 | ||
226 | __attribute__((format(printf, 3, 4))) | 226 | __printf(3, 4) |
227 | void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...); | 227 | void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...); |
228 | __attribute__((format(printf, 3, 4))) | 228 | __printf(3, 4) |
229 | void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...); | 229 | void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt, ...); |
230 | 230 | ||
231 | const char *xenbus_strstate(enum xenbus_state state); | 231 | const char *xenbus_strstate(enum xenbus_state state); |