Messages in this thread Patch in this message | | | Date | Thu, 13 Sep 2007 04:47:26 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.23-rc4-mm1: deadlock while mmaping video device |
| |
On Thu, 13 Sep 2007 13:43:43 +0200 Jiri Slaby <jirislaby@gmail.com> wrote:
> Hi, > > I have this circular lock dependency on 2.6.23-rc4-mm1 when opening > /dev/video0 and mmaping it. the v4l driver is stk11xx: > http://www.fi.muni.cz/~xslaby/sklad/panics/mm-deadlock.png > > Using slub on x86_64 if that matters. > > For now, I'm unable to set up a netconsole, so only the picture linked above > is the best I have. >
oop, I think you'll want this:
--- a/mm/memory.c~memory-controller-memory-accounting-v7-fix +++ a/mm/memory.c @@ -1135,7 +1135,7 @@ static int insert_page(struct mm_struct { int retval; pte_t *pte; - spinlock_t *ptl; + spinlock_t *ptl; retval = mem_container_charge(page, mm); if (retval) @@ -1160,6 +1160,7 @@ static int insert_page(struct mm_struct set_pte_at(mm, addr, pte, mk_pte(page, prot)); retval = 0; + pte_unmap_unlock(pte, ptl); return retval; out_unlock: pte_unmap_unlock(pte, ptl); @@ -2184,8 +2185,8 @@ static int do_anonymous_page(struct mm_s if (!page) goto oom; - if (mem_container_charge(page, mm)) - goto oom_free_page; + if (mem_container_charge(page, mm)) + goto oom_free_page; entry = mk_pte(page, vma->vm_page_prot); entry = maybe_mkwrite(pte_mkdirty(entry), vma); _ - 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/
| |