From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH V11 0/5] hash addresses printed with %p Date: Wed, 29 Nov 2017 15:20:40 -0800 Message-ID: <20171129152040.ed5b28c198093de8968aac9b@linux-foundation.org> References: <1511921105-3647-1-git-send-email-me@tobin.cc> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: kernel-hardening@lists.openwall.com, Linus Torvalds , "Jason A. Donenfeld" , "Theodore Ts'o" , Kees Cook , Paolo Bonzini , Tycho Andersen , "Roberts, William C" , Tejun Heo , Jordan Glover , Greg KH , Petr Mladek , Joe Perches , Ian Campbell , Sergey Senozhatsky , Catalin Marinas , Will Deacon , Steven Rostedt , Chris Fries , Dave Weinstein To: "Tobin C. Harding" Return-path: In-Reply-To: <1511921105-3647-1-git-send-email-me@tobin.cc> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Wed, 29 Nov 2017 13:05:00 +1100 "Tobin C. Harding" 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 "" in their place? That loses the uniqueness thing but I wonder how valuable that is in practice?