RE: [PATCH V11 4/5] vsprintf: add printk specifier %px

From: Roberts, William C
Date: Wed Nov 29 2017 - 17:36:36 EST




> -----Original Message-----
> From: keescook@xxxxxxxxxx [mailto:keescook@xxxxxxxxxx] On Behalf Of Kees
> Cook
> Sent: Wednesday, November 29, 2017 2:28 PM
> To: David Laight <David.Laight@xxxxxxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>; Tobin C. Harding
> <me@xxxxxxxx>; kernel-hardening@xxxxxxxxxxxxxxxxxx; Jason A. Donenfeld
> <Jason@xxxxxxxxx>; Theodore Ts'o <tytso@xxxxxxx>; Paolo Bonzini
> <pbonzini@xxxxxxxxxx>; Tycho Andersen <tycho@xxxxxxxx>; Roberts, William C
> <william.c.roberts@xxxxxxxxx>; Tejun Heo <tj@xxxxxxxxxx>; Jordan Glover
> <Golden_Miller83@xxxxxxxxxxxxx>; Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>;
> Petr Mladek <pmladek@xxxxxxxx>; Joe Perches <joe@xxxxxxxxxxx>; Ian
> Campbell <ijc@xxxxxxxxxxxxxx>; Sergey Senozhatsky
> <sergey.senozhatsky@xxxxxxxxx>; Catalin Marinas <catalin.marinas@xxxxxxx>;
> Will Deacon <wilal.deacon@xxxxxxx>; Steven Rostedt <rostedt@xxxxxxxxxxx>;
> Chris Fries <cfries@xxxxxxxxxx>; Dave Weinstein <olorin@xxxxxxxxxx>; Daniel
> Micay <danielmicay@xxxxxxxxx>; Djalal Harouni <tixxdz@xxxxxxxxx>; Radim
> KrcmÃr <rkrcmar@xxxxxxxxxx>; Linux Kernel Mailing List <linux-
> kernel@xxxxxxxxxxxxxxx>; Network Development <netdev@xxxxxxxxxxxxxxx>;
> David Miller <davem@xxxxxxxxxxxxx>; Stephen Rothwell
> <sfr@xxxxxxxxxxxxxxxx>; Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>;
> Alexander Potapenko <glider@xxxxxxxxxx>; Dmitry Vyukov
> <dvyukov@xxxxxxxxxx>; Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Subject: Re: [PATCH V11 4/5] vsprintf: add printk specifier %px
>
> On Wed, Nov 29, 2017 at 2:07 AM, David Laight <David.Laight@xxxxxxxxxx>
> wrote:
> > From: Linus Torvalds
> >> Sent: 29 November 2017 02:29
> >>
> >> On Tue, Nov 28, 2017 at 6:05 PM, Tobin C. Harding <me@xxxxxxxx> wrote:
> >> >
> >> > Let's add specifier %px as a
> >> > clear, opt-in, way to print a pointer and maintain some level of
> >> > isolation from all the other hex integer output within the Kernel.
> >>
> >> Yes, I like this model. It's easy and it's obvious ("'x' for hex"),
> >> and it gives people a good way to say "yes, I really want the actual
> >> address as hex" for if/when the hashed pointer doesn't work for some
> >> reason.
> >
> > Remind me to change every %p to %px on kernels that support it.
> >
> > Although the absolute values of pointers may not be useful, knowing
> > that two pointer differ by a small amount is useful.
> > It is also useful to know whether pointers are to stack, code, static
> > data or heap.
> >
> > This change to %p is going to make debugging a nightmare.
>
> In the future, maybe we could have a knob: unhashed, hashed (default), or
> zeroed.

Isn't that just kptr_restrict and get us right back to the simpler patches I proposed?

>
> -Kees
>
> --
> Kees Cook
> Pixel Security