remove 2mb check
This commit is contained in:
parent
176eb30d1c
commit
1de25ed9c3
1 changed files with 32 additions and 32 deletions
64
code/lkm.c
64
code/lkm.c
|
@ -27,47 +27,47 @@ static struct file_operations lkm_fops = {
|
||||||
.unlocked_ioctl = lkm_ioctl,
|
.unlocked_ioctl = lkm_ioctl,
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
// void
|
||||||
is2mb(size_t addr)
|
// is2mb(size_t addr)
|
||||||
{
|
// {
|
||||||
unsigned long above = ((long)addr) >> __VIRTUAL_MASK_SHIFT;
|
// unsigned long above = ((long)addr) >> __VIRTUAL_MASK_SHIFT;
|
||||||
pgd_t *pgd;
|
// pgd_t *pgd;
|
||||||
p4d_t *p4d;
|
// p4d_t *p4d;
|
||||||
pud_t *pud;
|
// pud_t *pud;
|
||||||
pmd_t *pmd;
|
// pmd_t *pmd;
|
||||||
pte_t *pte;
|
// pte_t *pte;
|
||||||
|
|
||||||
if (above != 0 && above != -1UL)
|
// if (above != 0 && above != -1UL)
|
||||||
return 0;
|
// return 0;
|
||||||
|
|
||||||
pgd = pgd_offset_pgd(_init_top_pgt, addr);
|
// pgd = pgd_offset_pgd(_init_top_pgt, addr);
|
||||||
if (pgd_none(*pgd))
|
// if (pgd_none(*pgd))
|
||||||
return 0;
|
// return 0;
|
||||||
|
|
||||||
p4d = p4d_offset(pgd, addr);
|
// p4d = p4d_offset(pgd, addr);
|
||||||
if (!p4d_present(*p4d))
|
// if (!p4d_present(*p4d))
|
||||||
return 0;
|
// return 0;
|
||||||
|
|
||||||
pud = pud_offset(p4d, addr);
|
// pud = pud_offset(p4d, addr);
|
||||||
if (!pud_present(*pud))
|
// if (!pud_present(*pud))
|
||||||
return 0;
|
// return 0;
|
||||||
|
|
||||||
if (pud_large(*pud))
|
// if (pud_large(*pud))
|
||||||
return 0;
|
// return 0;
|
||||||
|
|
||||||
pmd = pmd_offset(pud, addr);
|
// pmd = pmd_offset(pud, addr);
|
||||||
if (!pmd_present(*pmd))
|
// if (!pmd_present(*pmd))
|
||||||
return 0;
|
// return 0;
|
||||||
|
|
||||||
if (pmd_large(*pmd))
|
// if (pmd_large(*pmd))
|
||||||
return 1;
|
// return 1;
|
||||||
|
|
||||||
pte = pte_offset_kernel(pmd, addr);
|
// pte = pte_offset_kernel(pmd, addr);
|
||||||
if (pte_none(*pte))
|
// if (pte_none(*pte))
|
||||||
return 0;
|
// return 0;
|
||||||
|
|
||||||
return 0;
|
// return 0;
|
||||||
}
|
// }
|
||||||
|
|
||||||
static int
|
static int
|
||||||
lkm_init(void)
|
lkm_init(void)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue