remove 2mb check

This commit is contained in:
twoneis 2025-04-25 09:19:17 +02:00
parent 176eb30d1c
commit 1de25ed9c3

View file

@ -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)