[Bug 14256] kernel BUG at fs/ext3/super.c:435

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: bugzilla-daemon
Date: Tuesday, January 19, 2010 - 4:24 pm

http://bugzilla.kernel.org/show_bug.cgi?id=14256





--- Comment #28 from Darren Hart <dvhltc@us.ibm.com>  2010-01-19 23:24:41 ---
From the following in the test:

  mem = mmap (NULL, ps, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

this may be related to be the problem reported by Kosaki and fixed with his
patch recently pulled into tip by Ingo and sent Linus and stable. Can you try
with this patch from tip/core-fixes-for-linus?

commit 7485d0d3758e8e6491a5c9468114e74dc050785d
Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Date:   Tue Jan 5 16:32:43 2010 +0900

    futexes: Remove rw parameter from get_futex_key()

    Currently, futexes have two problem:

    A) The current futex code doesn't handle private file mappings properly.

    get_futex_key() uses PageAnon() to distinguish file and
    anon, which can cause the following bad scenario:

      1) thread-A call futex(private-mapping, FUTEX_WAIT), it
         sleeps on file mapping object.
      2) thread-B writes a variable and it makes it cow.
      3) thread-B calls futex(private-mapping, FUTEX_WAKE), it
         wakes up blocked thread on the anonymous page. (but it's nothing)

    B) Current futex code doesn't handle zero page properly.

    Read mode get_user_pages() can return zero page, but current
    futex code doesn't handle it at all. Then, zero page makes
    infinite loop internally.

    The solution is to use write mode get_user_page() always for
    page lookup. It prevents the lookup of both file page of private
    mappings and zero page.

    Performance concerns:

    Probaly very little, because glibc always initialize variables
    for futex before to call futex(). It means glibc users never see
    the overhead of this patch.

    Compatibility concerns:

    This patch has few compatibility issues. After this patch,
    FUTEX_WAIT require writable access to futex variables (read-only
    mappings makes EFAULT). But practically it's not a problem,
    glibc always initalizes variables for futexes explicitly - nobody
    uses read-only mappings.

    Reported-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
    Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Acked-by: Peter Zijlstra <peterz@infradead.org>
    Acked-by: Darren Hart <dvhltc@us.ibm.com>
    Cc: <stable@kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Nick Piggin <npiggin@suse.de>
    Cc: Ulrich Drepper <drepper@gmail.com>
    LKML-Reference: <20100105162633.45A2.A69D9226@jp.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[Bug 14256] New: kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Sep 29, 2:48 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sun Oct 4, 1:47 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Fri Oct 9, 3:01 pm)
Re: [Bug 14256] kernel BUG at fs/ext3/super.c:435, Theodore Tso, (Fri Oct 9, 6:31 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Fri Oct 9, 6:31 pm)
Re: [Bug 14256] kernel BUG at fs/ext3/super.c:435, Mikael Pettersson, (Mon Oct 12, 6:48 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Oct 12, 6:48 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Oct 12, 9:19 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Thu Nov 5, 9:07 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Thu Nov 5, 9:13 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Nov 11, 8:27 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Nov 11, 8:29 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Fri Nov 20, 8:11 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sat Nov 21, 7:27 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Dec 8, 4:12 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Dec 8, 4:47 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Dec 14, 5:40 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Dec 14, 7:46 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Dec 15, 2:08 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Dec 29, 6:18 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Jan 11, 2:59 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Jan 11, 3:55 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Jan 12, 9:03 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Jan 12, 10:30 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Jan 12, 1:12 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Jan 12, 4:25 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Jan 12, 5:34 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Jan 18, 3:41 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Jan 19, 12:56 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Jan 19, 12:57 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Tue Jan 19, 4:24 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Jan 20, 3:40 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Jan 20, 6:52 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Jan 20, 11:11 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Jan 20, 12:10 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Jan 20, 12:29 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Jan 20, 12:54 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Jan 20, 1:09 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sat Jan 23, 3:18 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sun Jan 24, 4:28 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sun Jan 24, 10:13 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sun Jan 24, 11:17 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sun Jan 24, 11:20 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sun Jan 24, 12:27 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Sun Jan 24, 6:37 pm)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Jan 25, 3:29 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Mon Jan 25, 5:07 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Thu Jan 28, 10:19 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Thu Jan 28, 10:23 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Thu Jan 28, 10:24 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Thu Jan 28, 10:25 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Thu Jan 28, 10:55 am)
[Bug 14256] kernel BUG at fs/ext3/super.c:435, bugzilla-daemon, (Wed Feb 10, 12:16 pm)