Messages in this thread | | | Date | Wed, 8 Sep 2010 09:16:49 +0300 | Subject | Re: disabling group leader perf_event | From | Pekka Enberg <> |
| |
2010/9/8 Paul Mackerras <paulus@samba.org>: >> We start with trivial (and useless) special case of something like: >> >> #define MAX_BYTECODE_SIZE 256 >> >> int x86_bytecode_verify(char *opcodes, unsigned int len) >> { >> >> if (len-1 > MAX_BYTECODE_SIZE-1) >> return -EINVAL; >> >> if (opcodes[0] != 0xc3) /* RET instruction */ >> return -EINVAL; >> >> return 0; >> } >> >> ... and then we add checks for accepted/safe x86 patterns of >> instructions step by step - always keeping it 100% correct. > > So... I would be interested to see you add the case for the MOV > instruction. :)
Heh, which one of them - there are tons of variants under 'mov' on x86? On a more serious note: the biggest problem is that you need to do verification during execution because you don't know the exact address until then for most addressing modes that use registers.
Pekka -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |