s390/kprobes: allow kprobes only on known instructions

Since we have an in-kernel disassembler we can make sure that
there won't be any kprobes set on random data.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Heiko Carstens
2013-09-13 14:14:10 +02:00
committed by Martin Schwidefsky
parent a882b3b067
commit 1ffa11abfe
3 changed files with 9 additions and 1 deletions

View File

@@ -1586,7 +1586,7 @@ static unsigned int extract_operand(unsigned char *code,
return val;
}
static struct s390_insn *find_insn(unsigned char *code)
struct s390_insn *find_insn(unsigned char *code)
{
unsigned char opfrag = code[1];
unsigned char opmask;

View File

@@ -60,6 +60,8 @@ struct kprobe_insn_cache kprobe_dmainsn_slots = {
static int __kprobes is_prohibited_opcode(kprobe_opcode_t *insn)
{
if (!is_known_insn((unsigned char *)insn))
return -EINVAL;
switch (insn[0] >> 8) {
case 0x0c: /* bassm */
case 0x0b: /* bsm */