Message ID | 20250313085343.241623-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Under Review |
Delegated to: | Paul Moore |
Headers | show |
Series | [v2,1/1] audit: Mark audit_log_vformat() with __printf() attribute | expand |
On Thu, Mar 13, 2025 at 10:52:39AM +0200, Andy Shevchenko wrote: > audit_log_vformat() is using printf() type of format, and GCC compiler > (Debian 14.2.0-17) is not happy about this: > > kernel/audit.c:1978:9: error: function ‘audit_log_vformat’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format] > kernel/audit.c:1987:17: error: function ‘audit_log_vformat’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format] > > Fix the compilation errors (`make W=1` when CONFIG_WERROR=y, which is default) > by adding __printf() attribute. Any comments on this? Can it be applied?
On Mar 13, 2025 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > > audit_log_vformat() is using printf() type of format, and GCC compiler > (Debian 14.2.0-17) is not happy about this: > > kernel/audit.c:1978:9: error: function ‘audit_log_vformat’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format] > kernel/audit.c:1987:17: error: function ‘audit_log_vformat’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format] > > Fix the compilation errors (`make W=1` when CONFIG_WERROR=y, which is default) > by adding __printf() attribute. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > v2: added necessary technical information to the commit message (Paul) > > kernel/audit.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Merged into audit/dev-staging, this will move to audit/dev after the upcoming merge window. -- paul-moore.com
diff --git a/kernel/audit.c b/kernel/audit.c index 5f5bf85bcc90..f365e1bbeac6 100644 --- a/kernel/audit.c +++ b/kernel/audit.c @@ -1956,8 +1956,8 @@ static inline int audit_expand(struct audit_buffer *ab, int extra) * will be called a second time. Currently, we assume that a printk * can't format message larger than 1024 bytes, so we don't either. */ -static void audit_log_vformat(struct audit_buffer *ab, const char *fmt, - va_list args) +static __printf(2, 0) +void audit_log_vformat(struct audit_buffer *ab, const char *fmt, va_list args) { int len, avail; struct sk_buff *skb;
audit_log_vformat() is using printf() type of format, and GCC compiler (Debian 14.2.0-17) is not happy about this: kernel/audit.c:1978:9: error: function ‘audit_log_vformat’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format] kernel/audit.c:1987:17: error: function ‘audit_log_vformat’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format] Fix the compilation errors (`make W=1` when CONFIG_WERROR=y, which is default) by adding __printf() attribute. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- v2: added necessary technical information to the commit message (Paul) kernel/audit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)