Messages in this thread |  | | Date | Wed, 13 Nov 2013 17:14:13 +0800 | From | Chen Gang <> | Subject | Re: [PATCH] arch: um: kernel: skas: mmu: remove pmd_free() and pud_free() for failure processing in init_stub_pte() |
| |
On 11/13/2013 05:07 PM, Richard Weinberger wrote: > Am 13.11.2013 06:06, schrieb Chen Gang: >> Unfortunately, p?d_alloc() and p?d_free() are not pair!! If p?d_alloc() >> succeed, they may be used, so in the next failure, we have to skip them >> to let exit_mmap() or do_munmap() to process it. >> >> According to "Documentation/vm/locking", 'mm->page_table_lock' is for >> using vma list, so not need it when its related vmas are detached or >> unmapped from using vma list. >> >> The related work flow: >> >> exit_mmap() -> >> unmap_vmas(); /* so not need mm->page_table_lock */ >> free_pgtables(); >> >> do_munmap()-> >> detach_vmas_to_be_unmapped(); /* so not need mm->page_table_lock */ >> unmap_region() -> >> free_pgtables(); >> >> free_pgtables() -> >> free_pgd_range() -> >> free_pud_range() -> >> free_pmd_range() -> >> free_pte_range() -> >> pmd_clear(); >> pte_free_tlb(); >> pud_clear(); >> pmd_free_tlb(); >> pgd_clear(); >> pud_free_tlb(); >> >> >> Signed-off-by: Chen Gang <gang.chen@asianux.com> > > Sounds reasonable to me. > *But* there are patches you from out there that tried to fix similar issues and got reverted later. > Now I'm a bit nervous and want a ACK from mm folks to have this verified. > It's not that I don't trust you, but I really don't trust you. ;-) >
OK, thanks.
> Thanks, > //richard > >
-- Chen Gang
|  |