[PATCH 0/5] add printk specifier %px, unique identifier

From: Tobin C. Harding
Date: Mon Nov 27 2017 - 18:41:21 EST


Linus,

I know you are bored of this patch set already and this pits your vast
experience against my eight months kernel dev experience ;)

I humbly maintain that hashing %p and suggesting people use %x
_correctly_ isn't a WIN solution.

Please don't go easy on me because I'm new, if I'm out of line - say
so.

This set is based on the following assumptions.

1. We now have leaking_addresses.pl illuminating leaking addresses.
2. We have no _clear_ strategy for fixing leaks once found.
3. We do not have a proposed non opt-in solution.
4. There is a distinct use case for this specifier.

Patch 1: Corrects the docs for %pK.

Patch 2: Refactors %pK code out of pointer() into helper function.

Patch 3: Adds specifier %px, small 'x' was chosen because the hashed hex
value is printed in lower case.

Patch 4/5: Provides example usage of new specifier.

The hashing code is based on the work done hashing %p during 4.14 dev
cycle.

Finally, with this patch set in place, we have the added benefit that
newbies (me) can quietly go around the kernel 'sweeping up' after
leaking addresses. This as apposed to using a hammer and hashing all
%p. And if this is deemed too little and too slow we can always search
and replace '%p' with '%px'.

thanks,
Tobin.

Tobin C. Harding (5):
docs: correct documentation for %pK
vsprintf: refactor pK code out of pointer()
vsprintf: add specifier %px, unique identifier
KVM: use %px to print token identifier
vfio_pci: use %px to print token identifier

Documentation/printk-formats.txt | 2 +-
drivers/vfio/pci/vfio_pci_intrs.c | 2 +-
lib/test_printf.c | 74 +++++++++++++++++
lib/vsprintf.c | 166 ++++++++++++++++++++++++++++----------
scripts/checkpatch.pl | 2 +-
virt/kvm/eventfd.c | 2 +-
6 files changed, 202 insertions(+), 46 deletions(-)

--
2.7.4