diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2021-10-19 15:26:21 +0100 |
---|---|---|
committer | Petr Mladek <pmladek@suse.com> | 2021-10-27 13:40:14 +0200 |
commit | 23efd0804c0a869dfb1e78470f80a27251317b7e (patch) | |
tree | e867289237ebd1050643b53f3202cbc9a99f5ad3 /lib/vsprintf.c | |
parent | 507f98603607d43cb76ed39c370c4dc1ed6a94f9 (diff) | |
download | linux-23efd0804c0a869dfb1e78470f80a27251317b7e.tar.gz |
vsprintf: Make %pGp print the hex value
All existing users of %pGp want the hex value as well as the decoded
flag names. This looks awkward (passing the same parameter to printf
twice), so move that functionality into the core. If we want, we
can make that optional with flag arguments to %pGp in the future.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Yafang Shao <laoar.shao@gmail.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20211019142621.2810043-6-willy@infradead.org
Diffstat (limited to 'lib/vsprintf.c')
-rw-r--r-- | lib/vsprintf.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index d7ad44f2c8f5..214098248610 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -2023,6 +2023,11 @@ char *format_page_flags(char *buf, char *end, unsigned long flags) bool append = false; int i; + buf = number(buf, end, flags, default_flag_spec); + if (buf < end) + *buf = '('; + buf++; + /* Page flags from the main area. */ if (main_flags) { buf = format_flags(buf, end, main_flags, pageflag_names); @@ -2051,6 +2056,9 @@ char *format_page_flags(char *buf, char *end, unsigned long flags) append = true; } + if (buf < end) + *buf = ')'; + buf++; return buf; } |