Messages in this thread | | | Date | Sat, 24 Feb 2001 05:04:02 +0100 | From | Andrea Arcangeli <> | Subject | Re: Linux 2.4.1-ac15 |
| |
On Fri, Feb 23, 2001 at 01:09:02PM -0800, Linus Torvalds wrote: > > > 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.
Woops, I see, I was thinking only PAE mode indeed 8), sorry. Thanks for the correction.
All the rest still applies (and the patch still looks fine for PAE mode). I think I only need to rediff my patch after resurrecting the pmd thing inside the cli critical section in a #ifndef CONFIG_X86_PAE region.
Andrea - 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/
| |