kmemcheck: move 64-bit ifdef out of kmemcheck_opcode_decode()
This patch moves the CONFIG_X86_64 ifdef out of kmemcheck_opcode_decode() by introducing a version of the function that always returns false for CONFIG_X86_32. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
This commit is contained in:
committed by
Vegard Nossum
parent
0c33cacd86
commit
6d9609c132
@@ -16,10 +16,17 @@ static bool opcode_is_prefix(uint8_t b)
|
|||||||
|| b == 0x67;
|
|| b == 0x67;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
static bool opcode_is_rex_prefix(uint8_t b)
|
static bool opcode_is_rex_prefix(uint8_t b)
|
||||||
{
|
{
|
||||||
return (b & 0xf0) == 0x40;
|
return (b & 0xf0) == 0x40;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
static bool opcode_is_rex_prefix(uint8_t b)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#define REX_W (1 << 3)
|
#define REX_W (1 << 3)
|
||||||
|
|
||||||
@@ -40,7 +47,6 @@ void kmemcheck_opcode_decode(const uint8_t *op, unsigned int *size)
|
|||||||
operand_size_override = 2;
|
operand_size_override = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_X86_64
|
|
||||||
/* REX prefix */
|
/* REX prefix */
|
||||||
if (opcode_is_rex_prefix(*op)) {
|
if (opcode_is_rex_prefix(*op)) {
|
||||||
uint8_t rex = *op;
|
uint8_t rex = *op;
|
||||||
@@ -72,7 +78,6 @@ void kmemcheck_opcode_decode(const uint8_t *op, unsigned int *size)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* escape opcode */
|
/* escape opcode */
|
||||||
if (*op == 0x0f) {
|
if (*op == 0x0f) {
|
||||||
|
Reference in New Issue
Block a user