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

From: David Gow
Date: Tue Mar 24 2020 - 23:33:49 EST


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.

Cheers,
-- David