kunit: Always print actual pointer values in asserts
authorDavid Gow <davidgow@google.com>
Thu, 21 Nov 2019 23:50:58 +0000 (15:50 -0800)
committerShuah Khan <skhan@linuxfoundation.org>
Wed, 25 Mar 2020 18:12:33 +0000 (12:12 -0600)
commit2d68df6cc4bf5822d78cd0f067174d6e29a2f739
treed5c2118f91d145cde8f5fd0fd08822a65c34915c
parent0476e69f39377192d638c459d11400c6e9a6ffb0
kunit: Always print actual pointer values in asserts

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.

Signed-off-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
lib/kunit/assert.c