* [PATCH v1 1/1] audit: Mark audit_log_vformat() with __printf() attribute
@ 2025-03-12 20:02 Andy Shevchenko
2025-03-12 20:16 ` Paul Moore
0 siblings, 1 reply; 3+ messages in thread
From: Andy Shevchenko @ 2025-03-12 20:02 UTC (permalink / raw)
To: Paul Moore, Casey Schaufler, audit, linux-kernel
Cc: Eric Paris, Andy Shevchenko
audit_log_vformat() is using printf() type of format, and compiler
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 by adding __printf() attribute.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
kernel/audit.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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;
--
2.47.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/1] audit: Mark audit_log_vformat() with __printf() attribute
2025-03-12 20:02 [PATCH v1 1/1] audit: Mark audit_log_vformat() with __printf() attribute Andy Shevchenko
@ 2025-03-12 20:16 ` Paul Moore
2025-03-13 8:50 ` Andy Shevchenko
0 siblings, 1 reply; 3+ messages in thread
From: Paul Moore @ 2025-03-12 20:16 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: Casey Schaufler, audit, linux-kernel, Eric Paris
On Wed, Mar 12, 2025 at 4:02 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> audit_log_vformat() is using printf() type of format, and compiler
> 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 by adding __printf() attribute.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> kernel/audit.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
It would be good to list the compiler version/flags that triggers this
error in the patch description as I've compiled the audit code quite a
bit and haven't seen these errors :)
> 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;
> --
> 2.47.2
--
paul-moore.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/1] audit: Mark audit_log_vformat() with __printf() attribute
2025-03-12 20:16 ` Paul Moore
@ 2025-03-13 8:50 ` Andy Shevchenko
0 siblings, 0 replies; 3+ messages in thread
From: Andy Shevchenko @ 2025-03-13 8:50 UTC (permalink / raw)
To: Paul Moore; +Cc: Casey Schaufler, audit, linux-kernel, Eric Paris
On Wed, Mar 12, 2025 at 04:16:36PM -0400, Paul Moore wrote:
> On Wed, Mar 12, 2025 at 4:02 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > audit_log_vformat() is using printf() type of format, and compiler
> > 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 by adding __printf() attribute.
> It would be good to list the compiler version/flags that triggers this
> error in the patch description
CONFIG_WERROR=y (this is default), gcc (Debian 14.2.0-17) 14.2.0, `make W=1`.
> as I've compiled the audit code quite a bit and haven't seen these errors :)
Good for you, I have 100% reproducibility of this :-)
I'll do a v2 today.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-03-13 8:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-12 20:02 [PATCH v1 1/1] audit: Mark audit_log_vformat() with __printf() attribute Andy Shevchenko
2025-03-12 20:16 ` Paul Moore
2025-03-13 8:50 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox