Re: [PATCH V11 0/5] hash addresses printed with %p

From: Andrew Morton
Date: Wed Nov 29 2017 - 18:20:51 EST


On Wed, 29 Nov 2017 13:05:00 +1100 "Tobin C. Harding" <me@xxxxxxxx> wrote:

> Currently there exist approximately 14 000 places in the Kernel where
> addresses are being printed using an unadorned %p. This potentially
> leaks sensitive information regarding the Kernel layout in memory. Many
> of these calls are stale, instead of fixing every call lets hash the
> address by default before printing. This will of course break some
> users, forcing code printing needed addresses to be updated. We can add
> a printk specifier for this purpose (%px) to give developers a clear
> upgrade path for breakages caused by applying this patch set.
>
> The added advantage of hashing %p is that security is now opt-out, if
> you _really_ want the address you have to work a little harder and use
> %px.
>
> The idea for creating the printk specifier %px to print the actual
> address was suggested by Kees Cook (see below for email threads by
> subject).

Maybe I'm being thick, but... if we're rendering these addresses
unusable by hashing them, why not just print something like
"<obscured>" in their place? That loses the uniqueness thing but I
wonder how valuable that is in practice?