[S390] kprobes: forbid probing of stnsm/stosm/epsw
The probed instructions will be executed in a single stepped and irq disabled context. Therefore the results of stnsm, stosm and epsw would be wrong if probed. So let's just disallow probing of these functions. If really needed a fixup could be written for each of them, but I doubt it's worth it. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
215b309637
commit
bac9f154ac
@ -63,6 +63,8 @@ int __kprobes is_prohibited_opcode(kprobe_opcode_t *instruction)
|
|||||||
case 0x0b: /* bsm */
|
case 0x0b: /* bsm */
|
||||||
case 0x83: /* diag */
|
case 0x83: /* diag */
|
||||||
case 0x44: /* ex */
|
case 0x44: /* ex */
|
||||||
|
case 0xac: /* stnsm */
|
||||||
|
case 0xad: /* stosm */
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
switch (*(__u16 *) instruction) {
|
switch (*(__u16 *) instruction) {
|
||||||
@ -72,6 +74,7 @@ int __kprobes is_prohibited_opcode(kprobe_opcode_t *instruction)
|
|||||||
case 0xb258: /* bsg */
|
case 0xb258: /* bsg */
|
||||||
case 0xb218: /* pc */
|
case 0xb218: /* pc */
|
||||||
case 0xb228: /* pt */
|
case 0xb228: /* pt */
|
||||||
|
case 0xb98d: /* epsw */
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user