[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250321144822.324050-1-andriy.shevchenko@linux.intel.com>
Date: Fri, 21 Mar 2025 16:40:46 +0200
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Christophe JAILLET <christophe.jaillet@...adoo.fr>,
Kees Cook <kees@...nel.org>,
Steven Rostedt <rostedt@...dmis.org>,
"Masami Hiramatsu (Google)" <mhiramat@...nel.org>,
linux-kernel@...r.kernel.org,
linux-hardening@...r.kernel.org,
linux-trace-kernel@...r.kernel.org
Cc: Andy Shevchenko <andy@...nel.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Petr Mladek <pmladek@...e.com>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
Sergey Senozhatsky <senozhatsky@...omium.org>
Subject: [PATCH v2 0/6] vsprintf: Add __printf attribute to where it's required
This whole series started from a simple fix (see the last patch)
to make GCC (Debian 14.2.0-17) happy when compiling with `make W=1`
(note, that CONFIG_WERROR=y and all warnings break the build!)
down to a rabbit hole.
However starting from v2 the last patch doesn't require the first
part, I prefer still to have them since the functions, while being
_binary_ printf()-like, are still printf()-like. It also puts in align
the tracing stuff with the rest and fixes the wrong parameter value.
These first 4 patches are organised in a strict order and can't be
reshuffled, otherwise it will produce a warnings in between.
I believe the best route for the series is printk tree with immutable
tag or branch for the others.
Alternatively the first 4 patches can be applied first as they
are pretty much straightforward. They also can be squashed to one
(as the same topic behind), but it all is up to the respective
maintainers.
In v2:
- split out patch 5 (Rasmus)
- rewritten the approach for the va_format() fix (Rasmus)
- amended tracing patch (removed a blank line and a __printf() in C file)
Andy Shevchenko (6):
seq_buf: Mark binary printing functions with __printf() attribute
seq_file: Mark binary printing functions with __printf() attribute
tracing: Mark binary printing functions with __printf() attribute
vsnprintf: Mark binary printing functions with __printf() attribute
vsnprintf: Drop unused const char fmt * in va_format()
vsnprintf: Silence false positive GCC warning for va_format()
include/linux/seq_buf.h | 4 ++--
include/linux/seq_file.h | 1 +
include/linux/string.h | 4 ++--
include/linux/trace.h | 4 ++--
include/linux/trace_seq.h | 8 ++++----
kernel/trace/trace.c | 11 +++--------
kernel/trace/trace.h | 16 +++++++++-------
lib/vsprintf.c | 9 +++++++--
8 files changed, 30 insertions(+), 27 deletions(-)
--
2.47.2
Powered by blists - more mailing lists