|
From: Phillip S. <ps...@cf...> - 2002-05-10 16:07:28
|
This shouldn't be able to happen because the page fault path should reference/lock the address space/page tables as it is updating them, and that would prevent it from being unmapped. It might be a good idea for the unmap code to be able to cancel pending paging IO though, and then unmap. This way paging IO to a slow device, such as a slow network server, couldn't prevent a process from being terminated quickly. At 10:20 PM 5/8/2002 +0000, you wrote: >On Wed, May 08, 2002 at 03:29:18PM -0400, Phillip Susi wrote: > > It should not be possible to delete a section while a page is being > faulted > > in from it, because when the section is mapped, the section object should > > be referenced, thus preventing it from being freed. The fault doesn't > need > > to reference the section, because it is referenced as soon as it is mapped. > > >Yes but one thread in a process could be faulting on a section while the >other unmaps it. Of course this would be a very stupid application and >it still might cause an exception but it shouldn't cause the kernel >itself to crash or exhibit unboundedly undefined behaviour. |