Re: [PATCH kselftest/test] kunit: Always print actual pointer values in asserts

From: shuah
Date: Wed Mar 25 2020 - 13:26:02 EST


On 3/25/20 10:33 AM, Brendan Higgins wrote:
On Tue, Mar 24, 2020 at 8:33 PM David Gow <davidgow@xxxxxxxxxx> wrote:

On Tue, Dec 3, 2019 at 3:44 PM Brendan Higgins
<brendanhiggins@xxxxxxxxxx> wrote:

On Thu, Nov 21, 2019 at 3:51 PM David Gow <davidgow@xxxxxxxxxx> wrote:

KUnit assertions and expectations will print the values being tested. If
these are pointers (e.g., KUNIT_EXPECT_PTR_EQ(test, a, b)), these
pointers are currently printed with the %pK format specifier, which -- to
prevent information leaks which may compromise, e.g., ASLR -- are often
either hashed or replaced with ____ptrval____ or similar, making debugging
tests difficult.

By replacing %pK with %px as Documentation/core-api/printk-formats.rst
suggests, we disable this security feature for KUnit assertions and
expectations, allowing the actual pointer values to be printed. Given
that KUnit is not intended for use in production kernels, and the
pointers are only printed on failing tests, this seems like a worthwhile
tradeoff.

I agree. However, I also remember that others in the past yelled at me
for assuming that KUnit would not be built into production kernels.

I feel like +Kees Cook would have a good opinion on this (or will at
least CC the right people).


I'm tempted to take the silence as a sign that no-one is upset by
this. Otherwise, consider this a gentle reminder to file any
objections you may have. :-)

Otherwise, I've confirmed that this still applies cleanly to the
latest linux-kselftest/kunit branch, so -- assuming there are no
last-minute objections -- this ought to be ready to go.

Shuah, can you pick this up for 5.7?


Yes. I will pick this up.

thanks,
-- Shuah