s390/runtime_instrumentation: fix storage key handling
authorHeiko Carstens <hca@linux.ibm.com>
Wed, 12 Aug 2020 16:55:41 +0000 (18:55 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 17 Aug 2020 11:17:10 +0000 (13:17 +0200)
The key member of the runtime instrumentation control block contains
only the access key, not the complete storage key. Therefore the value
must be shifted by four bits.
Note: this is only relevant for debugging purposes in case somebody
compiles a kernel with a default storage access key set to a value not
equal to zero.

Fixes: e4b8b3f33fca ("s390: add support for runtime instrumentation")
Reported-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/kernel/runtime_instr.c

index 125c7f6..1788a54 100644 (file)
@@ -57,7 +57,7 @@ static void init_runtime_instr_cb(struct runtime_instr_cb *cb)
        cb->k = 1;
        cb->ps = 1;
        cb->pc = 1;
-       cb->key = PAGE_DEFAULT_KEY;
+       cb->key = PAGE_DEFAULT_KEY >> 4;
        cb->v = 1;
 }