> +int
> +duanev_ensure_pgds_same(unsigned long addr, unsigned long size)
>...
> +       for_each_task(p) {
> +               for (va = addr; va < addr + size; va = (va + PGDIR_SIZE) & PGDIR_MASK) {
> +                       pgd_t kpgd = *pgd_offset_k(va);
> +                       if (pgd_val(*pgd_offset(p->mm, va)) != pgd_val(kpgd)) {
>...
In 2.4 kernels, it is legal for a processes pgds in the vmalloc area to be
different from those of the init task in so much as they may be entries
that will cause a fault.  The page fault handler will then fill in the
pgd entry for us.
--
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/