I test it many times, the result( __pa(...) != look through page table ) appeared only once. replace k_pgd = pgd_offset_k(ka); with k_pgd = pgd_offset(current->mm, ka); the result should be OK. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ