Re: [RFC 5/6] lib: vsprintf: Add "%paP", "%padP" options

From: Joe Perches
Date: Sat May 06 2017 - 00:43:38 EST


On Fri, 2017-05-05 at 21:07 -0700, Greg KH wrote:
> From: Chris Fries <cfries@xxxxxxxxxx>
>
> Add %paP and %padP for physical address that need to always be shown
> regardless of kptr restrictions.

The commit message could be improved.

I had to look at the actual code to see if %papP was supported.

> diff --git a/Documentation/printk-formats.txt b/Documentation/printk-formats.txt
[]
> @@ -82,18 +82,20 @@ Struct Resources:
>
> Physical addresses types phys_addr_t:
>
> - %pa[p] 0x01234567 or 0x0123456789abcdef
> + %pa[p][P] 0x01234567 or 0x0123456789abcdef

Well, that's good.

> diff --git a/lib/vsprintf.c b/lib/vsprintf.c
[]
> @@ -1394,23 +1394,29 @@ static noinline_for_stack
> char *address_val(char *buf, char *end, const void *addr, const char *fmt)
> {
> unsigned long long num;
> + int cleanse = kptr_restrict_cleanse_addresses();

bool