diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2025-03-21 17:40:50 +0300 |
---|---|---|
committer | Petr Mladek <pmladek@suse.com> | 2025-03-28 15:37:11 +0300 |
commit | 7bf819aa992faee980610e9021aec0c38aac53be (patch) | |
tree | b79be465308cf33a8407977b8d80a7b083a0cc3b | |
parent | 196a062641fe68d9bfe0ad36b6cd7628c99ad22c (diff) | |
download | linux-7bf819aa992faee980610e9021aec0c38aac53be.tar.xz |
vsnprintf: Mark binary printing functions with __printf() attribute
Binary printf() functions are using printf() type of format, and compiler
is not happy about them as is:
lib/vsprintf.c:3130:47: error: function ‘vbin_printf’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
lib/vsprintf.c:3298:33: error: function ‘bstr_printf’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
Fix the compilation errors by adding __printf() attribute.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Kees Cook <kees@kernel.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20250321144822.324050-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Petr Mladek <pmladek@suse.com>
-rw-r--r-- | include/linux/string.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/string.h b/include/linux/string.h index 0403a4ca4c11..01621ad0f598 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -336,8 +336,8 @@ int __sysfs_match_string(const char * const *array, size_t n, const char *s); #define sysfs_match_string(_a, _s) __sysfs_match_string(_a, ARRAY_SIZE(_a), _s) #ifdef CONFIG_BINARY_PRINTF -int vbin_printf(u32 *bin_buf, size_t size, const char *fmt, va_list args); -int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf); +__printf(3, 0) int vbin_printf(u32 *bin_buf, size_t size, const char *fmt, va_list args); +__printf(3, 0) int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf); #endif extern ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos, |