Re: Linux 2.4.1-ac15

Linus Torvalds (torvalds@transmeta.com)
Fri, 23 Feb 2001 13:09:02 -0800 (PST)


On Fri, 23 Feb 2001, Andrea Arcangeli wrote:
>
> I think that can't happen. Infact I think the whole section:
>
> pmd = pmd_offset(pgd, address);
> pmd_k = pmd_offset(pgd_k, address);
>
> if (pmd_present(*pmd) || !pmd_present(*pmd_k))
> goto bad_area_nosemaphore;
> set_pmd(pmd, *pmd_k);
> return;
>
> is superflows.

No. Think about the differences in PAE and non-PAE mode.

> The middle pagetable is shared and the pmd_t entry is set by vmalloc itself (it
> just points to the as well shared pte), it's only the pgd that is setup lazily

In non-PAE mode, the pgd entry doesn't exist. pgd_present() returns a
unconditional 1. Its' the pmd functions that kick in then.

Linus

-
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/