]> git.ipfire.org Git - thirdparty/linux.git/commit - lib/vsprintf.c
vsprintf: add new `%pA` format specifier
authorGary Guo <gary@garyguo.net>
Sat, 3 Jul 2021 15:38:57 +0000 (17:38 +0200)
committerMiguel Ojeda <ojeda@kernel.org>
Wed, 28 Sep 2022 07:00:20 +0000 (09:00 +0200)
commit787983da77185d355564b0436f7b4eaa40b8904b
treef42d510e54ef7abf81a24c0683cad0ddd3dd1eaf
parent8fcbf024920b96cd8c59f85d57d97af7237237b4
vsprintf: add new `%pA` format specifier

This patch adds a format specifier `%pA` to `vsprintf` which formats
a pointer as `core::fmt::Arguments`. Doing so allows us to directly
format to the internal buffer of `printf`, so we do not have to use
a temporary buffer on the stack to pre-assemble the message on
the Rust side.

This specifier is intended only to be used from Rust and not for C, so
`checkpatch.pl` is intentionally unchanged to catch any misuse.

Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Petr Mladek <pmladek@suse.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Co-developed-by: Alex Gaynor <alex.gaynor@gmail.com>
Signed-off-by: Alex Gaynor <alex.gaynor@gmail.com>
Co-developed-by: Wedson Almeida Filho <wedsonaf@google.com>
Signed-off-by: Wedson Almeida Filho <wedsonaf@google.com>
Signed-off-by: Gary Guo <gary@garyguo.net>
Co-developed-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Documentation/core-api/printk-formats.rst
lib/vsprintf.c