public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Tobin C. Harding" <me@tobin.cc>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] hash addresses printed with %p
Date: Wed, 29 Nov 2017 15:59:27 +1100	[thread overview]
Message-ID: <20171129045927.GA6217@eros> (raw)

The following changes since commit 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323:

  Linux 4.15-rc1 (2017-11-26 16:01:47 -0800)

are available in the git repository at:

  git://github.com/tcharding/linux.git tags/printk-hash-pointer-4.15-rc2

for you to fetch changes up to 6424f6bb432752c7eb90cbeeb1c31d6125bba39a:

  kasan: use %px to print addresses instead of %p (2017-11-29 12:13:16 +1100)

----------------------------------------------------------------
printk hashing patches for 4.15-rc2

Here is the patch set that implements hashing of printk specifier
%p. First we have two clean up patches then we do the hashing. Hashing
is done via the SipHash algorithm. The next patch adds printk specifier
%px for printing pointers when we _really_ want to see the address i.e
%px is functionally equivalent to %lx. Final patch in the set fixes
KASAN since we break it by hashing %p.

For the record here is the justification for the series.

Currently there exist approximately 14 000 places in the Kernel where
addresses are being printed using an unadorned %p. This potentially
leaks sensitive information about the Kernel layout in memory. Many of
these calls are stale, instead of fixing every call we can hash the
address by default before printing. We then add %px to provide a way to
print the actual address. Although this is achievable using %lx, using
%px will assist us if we ever want to change pointer printing
behaviour. %px is more uniquely grep'able (there are already > 50 000
uses of %lx).

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.

This will of course break some users, forcing code printing needed
addresses to be updated.

Signed-off-by: Tobin C. Harding <me@tobin.cc>

----------------------------------------------------------------
Tobin C. Harding (5):
      docs: correct documentation for %pK
      vsprintf: refactor %pK code out of pointer()
      printk: hash addresses printed with %p
      vsprintf: add printk specifier %px
      kasan: use %px to print addresses instead of %p

 Documentation/printk-formats.txt |  31 ++++++-
 lib/test_printf.c                | 108 ++++++++++++++--------
 lib/vsprintf.c                   | 194 +++++++++++++++++++++++++++++----------
 mm/kasan/report.c                |   8 +-
 scripts/checkpatch.pl            |   2 +-
 5 files changed, 248 insertions(+), 95 deletions(-)

             reply	other threads:[~2017-11-29  4:59 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-29  4:59 Tobin C. Harding [this message]
2017-11-29 19:22 ` [GIT PULL] hash addresses printed with %p Linus Torvalds
2017-11-29 19:39   ` Linus Torvalds
2017-11-29 20:54     ` Joe Perches
2017-11-29 21:05       ` Linus Torvalds
2017-11-29 21:31     ` Kees Cook
2017-11-29 21:08   ` Tobin C. Harding
2017-11-29 21:14     ` Linus Torvalds
2017-11-29 21:28       ` Tobin C. Harding
2017-11-29 21:36       ` Linus Torvalds
2017-11-30 16:32         ` Greg Kroah-Hartman
2017-11-30 17:10           ` Greg Kroah-Hartman
2017-11-30 17:18             ` Ard Biesheuvel
2017-12-01  9:48               ` Greg Kroah-Hartman
2017-12-01  9:54                 ` Ard Biesheuvel
2017-12-01 15:34                   ` Greg Kroah-Hartman
2017-12-01 16:33                     ` Kees Cook
2017-12-02  8:51                       ` Ard Biesheuvel
2017-12-02 22:22                   ` Matt Fleming
2017-12-03  1:15                     ` Dave Young
2017-12-04  2:02                     ` Dave Young
2017-12-04  2:33                       ` Joe Perches
2017-12-04  2:39                         ` Dave Young
2017-12-04  7:36                       ` Greg Kroah-Hartman
2017-12-04  9:29                         ` Dave Young
2017-12-04  9:34                           ` Greg Kroah-Hartman
2017-12-04  9:48                             ` Ard Biesheuvel
2017-12-04  9:59                               ` Greg Kroah-Hartman
2017-12-04 10:03                                 ` Ard Biesheuvel
2017-12-04 10:11                                   ` Greg Kroah-Hartman
2017-12-04 12:51                                   ` David Laight
2017-12-04 14:00                                     ` Greg Kroah-Hartman
2017-12-05  5:14                                       ` Dave Young
2017-12-05  8:09                                         ` Greg Kroah-Hartman
2017-12-05  8:45                                           ` Dave Young
2017-12-05  8:52                                             ` Greg Kroah-Hartman
2017-12-05  9:25                                               ` Ard Biesheuvel
2017-12-05 10:15                                                 ` Greg Kroah-Hartman
2017-12-05  9:32                                               ` Dave Young
2017-12-05  9:24                                             ` Dave Young
2017-12-05 10:14                                               ` Greg Kroah-Hartman
2017-11-30 23:17             ` Linus Torvalds
2017-12-01  9:47               ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171129045927.GA6217@eros \
    --to=me@tobin.cc \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox