kmemcheck: use kmemcheck_pte_lookup() instead of open-coding it
Lets use kmemcheck_pte_lookup() in kmemcheck_fault() instead of open-coding it there. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
This commit is contained in:
Родитель
6d9609c132
Коммит
f8b4ece2a9
|
@ -611,7 +611,6 @@ bool kmemcheck_fault(struct pt_regs *regs, unsigned long address,
|
||||||
unsigned long error_code)
|
unsigned long error_code)
|
||||||
{
|
{
|
||||||
pte_t *pte;
|
pte_t *pte;
|
||||||
unsigned int level;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX: Is it safe to assume that memory accesses from virtual 86
|
* XXX: Is it safe to assume that memory accesses from virtual 86
|
||||||
|
@ -624,13 +623,9 @@ bool kmemcheck_fault(struct pt_regs *regs, unsigned long address,
|
||||||
if (regs->cs != __KERNEL_CS)
|
if (regs->cs != __KERNEL_CS)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
pte = lookup_address(address, &level);
|
pte = kmemcheck_pte_lookup(address);
|
||||||
if (!pte)
|
if (!pte)
|
||||||
return false;
|
return false;
|
||||||
if (level != PG_LEVEL_4K)
|
|
||||||
return false;
|
|
||||||
if (!pte_hidden(*pte))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (error_code & 2)
|
if (error_code & 2)
|
||||||
kmemcheck_access(regs, address, KMEMCHECK_WRITE);
|
kmemcheck_access(regs, address, KMEMCHECK_WRITE);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче