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

From: Greg KH
Date: Sat May 06 2017 - 01:02:40 EST


On Fri, May 05, 2017 at 09:42:40PM -0700, Joe Perches wrote:
> 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.

Good point, I'll work on that, thanks.

> 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

I'll change this, thanks.

greg k-h