vsprintf: Do not preprocess non-dereferenced pointers for bprintf (%px and %pK)
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 3 Apr 2018 18:38:53 +0000 (14:38 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 6 Apr 2018 12:56:51 +0000 (08:56 -0400)
commit1e6338cfb50e244c445ad7d891b35385bd0ee757
treea705089ef2d001966b5eb65f11ca39b8bce41fc3
parentb28d7b2dc27f0eef1ae608b49d6860f2463910f1
vsprintf: Do not preprocess non-dereferenced pointers for bprintf (%px and %pK)

Commit 841a915d20c7b2 ("printf: Do not have bprintf dereference pointers")
would preprocess various pointers that are dereferenced in the bprintf()
because the recording and printing are done at two different times. Some
pointers stayed dereferenced in the ring buffer because user space could
handle them (namely "%pS" and friends). Pointers that are not dereferenced
should not be processed immediately but instead just saved directly.

Cc: stable@vger.kernel.org
Fixes: 841a915d20c7b2 ("printf: Do not have bprintf dereference pointers")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
lib/vsprintf.c