Messages in this thread |  | | Date | Fri, 06 Sep 2002 17:44:29 +0200 | From | Manfred Spraul <> | Subject | Re: Calculating kernel logical address .. |
| |
> adr = user_address; > pgd_offset(current->mm, adr); > > if (!pgd_none(*pgd)) { > pmd = pmd_offset(pgd, adr); > if (!pmd_none(*pmd)) { > ptep = pte_offset(pmd, adr); > pte = *ptep; > if(pte_present(pte)) { > kaddr = (unsigned long) page_address(pte_page(pte)); > kaddr |= (adr & (PAGE_SIZE - 1)); > } > } > } > > Will this code always give me correct kernel logical address? > What about
kmalloc_buffer+(user_address-vma->vm_start)
? A driver should avoid accessing the page tables.
-- Manfred
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |