From: Solar Designer Extend the gcc printk format-string checking. Signed-off-by: Andrew Morton --- 25-akpm/include/linux/kernel.h | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff -puN include/linux/kernel.h~enable-gcc-warnings-for-vsprintf-vsnprintf-with-format-attribute include/linux/kernel.h --- 25/include/linux/kernel.h~enable-gcc-warnings-for-vsprintf-vsnprintf-with-format-attribute Mon Mar 14 15:20:50 2005 +++ 25-akpm/include/linux/kernel.h Mon Mar 14 15:20:50 2005 @@ -91,17 +91,21 @@ extern unsigned long long simple_strtoul extern long long simple_strtoll(const char *,char **,unsigned int); extern int sprintf(char * buf, const char * fmt, ...) __attribute__ ((format (printf, 2, 3))); -extern int vsprintf(char *buf, const char *, va_list); +extern int vsprintf(char *buf, const char *, va_list) + __attribute__ ((format (printf, 2, 0))); extern int snprintf(char * buf, size_t size, const char * fmt, ...) __attribute__ ((format (printf, 3, 4))); -extern int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); +extern int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) + __attribute__ ((format (printf, 3, 0))); extern int scnprintf(char * buf, size_t size, const char * fmt, ...) __attribute__ ((format (printf, 3, 4))); -extern int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); +extern int vscnprintf(char *buf, size_t size, const char *fmt, va_list args) + __attribute__ ((format (printf, 3, 0))); extern int sscanf(const char *, const char *, ...) - __attribute__ ((format (scanf,2,3))); -extern int vsscanf(const char *, const char *, va_list); + __attribute__ ((format (scanf, 2, 3))); +extern int vsscanf(const char *, const char *, va_list) + __attribute__ ((format (scanf, 2, 0))); extern int get_option(char **str, int *pint); extern char *get_options(const char *str, int nints, int *ints); @@ -111,7 +115,8 @@ extern int __kernel_text_address(unsigne extern int kernel_text_address(unsigned long addr); extern int session_of_pgrp(int pgrp); -asmlinkage int vprintk(const char *fmt, va_list args); +asmlinkage int vprintk(const char *fmt, va_list args) + __attribute__ ((format (printf, 1, 0))); asmlinkage int printk(const char * fmt, ...) __attribute__ ((format (printf, 1, 2))); _