lkdtm: Print real addresses
authorChristophe Leroy <christophe.leroy@c-s.fr>
Wed, 7 Nov 2018 20:14:10 +0000 (20:14 +0000)
committerKees Cook <keescook@chromium.org>
Wed, 9 Jan 2019 19:58:51 +0000 (11:58 -0800)
commit4c411157a42f122051ae3469bee0b5cabe89e139
treef11f88defffb09d4ceaaf1e8521047289eec0448
parenta77d087fd566f576da1f5b8726dd9d9f0f164e1f
lkdtm: Print real addresses

Today, when doing a lkdtm test before the readiness of the
random generator, (ptrval) is printed instead of the address
at which it perform the fault:

[ 1597.337030] lkdtm: Performing direct entry EXEC_USERSPACE
[ 1597.337142] lkdtm: attempting ok execution at (ptrval)
[ 1597.337398] lkdtm: attempting bad execution at (ptrval)
[ 1597.337460] kernel tried to execute user page (77858000) -exploit attempt? (uid: 0)
[ 1597.344769] Unable to handle kernel paging request for instruction fetch
[ 1597.351392] Faulting instruction address: 0x77858000
[ 1597.356312] Oops: Kernel access of bad area, sig: 11 [#1]

If the lkdtm test is done later on, it prints an hashed address.

In both cases this is pointless. The purpose of the test is to
ensure the kernel generates an Oops at the expected address,
so real addresses needs to be printed. This patch fixes that.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Kees Cook <keescook@chromium.org>
drivers/misc/lkdtm/perms.c