Vegard Nossum | dfec072 | 2008-04-04 00:51:41 +0200 | [diff] [blame] | 1 | #include <linux/mm.h> |
2 | |||||
3 | #include <asm/pgtable.h> | ||||
4 | |||||
5 | #include "pte.h" | ||||
6 | |||||
7 | pte_t *kmemcheck_pte_lookup(unsigned long address) | ||||
8 | { | ||||
9 | pte_t *pte; | ||||
10 | unsigned int level; | ||||
11 | |||||
12 | pte = lookup_address(address, &level); | ||||
13 | if (!pte) | ||||
14 | return NULL; | ||||
15 | if (level != PG_LEVEL_4K) | ||||
16 | return NULL; | ||||
17 | if (!pte_hidden(*pte)) | ||||
18 | return NULL; | ||||
19 | |||||
20 | return pte; | ||||
21 | } | ||||
22 |