lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6bffcb0e0609121211t2dec0e49qb8d3dbfad2476852@mail.gmail.com>
Date:	Tue, 12 Sep 2006 21:11:22 +0200
From:	"Michal Piotrowski" <michal.k.k.piotrowski@...il.com>
To:	"Andrew Morton" <akpm@...l.org>
Cc:	linux-kernel@...r.kernel.org, "Rafael J. Wysocki" <rjw@...k.pl>,
	"Pavel Machek" <pavel@....cz>, "Dave Jones" <davej@...hat.com>
Subject: Re: 2.6.18-rc6-mm2

On 12/09/06, Andrew Morton <akpm@...l.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc6/2.6.18-rc6-mm2/
>

My FC6T2 bug appeared in -mm
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=202223

Any ideas about this?

echo shutdown > /sys/power/disk; echo disk > /sys/power/state

CPU 1 is now offline
lockdep: not fixing up alternatives.

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.18-rc6-mm2 #120
-------------------------------------------------------
bash/1961 is trying to acquire lock:
 ((cpu_chain).rwsem){----}, at: [<c012e289>]
blocking_notifier_call_chain+0x11/0x2d

but task is already holding lock:
 (workqueue_mutex){--..}, at: [<c02f8156>] mutex_lock+0x1c/0x1f

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:
-> #1 (workqueue_mutex){--..}:
       [<c0138b97>] add_lock_to_list+0x5c/0x7a
       [<c013aca0>] __lock_acquire+0x9ec/0xae8
       [<c013b0fc>] lock_acquire+0x6b/0x88
       [<c02f7f1b>] __mutex_lock_slowpath+0xd6/0x2f5
       [<c02f8156>] mutex_lock+0x1c/0x1f
       [<c01312de>] workqueue_cpu_callback+0x109/0x1ff
       [<c012de43>] notifier_call_chain+0x20/0x31
       [<c012e295>] blocking_notifier_call_chain+0x1d/0x2d
       [<c013f867>] _cpu_down+0x48/0x207
       [<c013fbf8>] disable_nonboot_cpus+0x98/0x12c
       [<c01451d6>] prepare_processes+0xe/0x41
       [<c014539e>] pm_suspend_disk+0x9/0xe2
       [<c0144635>] enter_state+0x53/0x177
       [<c01447df>] state_store+0x86/0x9c
       [<c01abde4>] subsys_attr_store+0x20/0x25
       [<c01abee3>] sysfs_write_file+0xa6/0xcc
       [<c0174d60>] vfs_write+0xcd/0x174
       [<c01753fa>] sys_write+0x3b/0x71
       [<c0103156>] sysenter_past_esp+0x5f/0x99
       [<ffffffff>] 0xffffffff
-> #0 ((cpu_chain).rwsem){----}:
       [<c013a280>] print_circular_bug_tail+0x2e/0x62
       [<c013abd7>] __lock_acquire+0x923/0xae8
       [<c013b0fc>] lock_acquire+0x6b/0x88
       [<c0136e60>] down_read+0x28/0x3b
       [<c012e289>] blocking_notifier_call_chain+0x11/0x2d
       [<c013f98e>] _cpu_down+0x16f/0x207
       [<c013fbf8>] disable_nonboot_cpus+0x98/0x12c
       [<c01451d6>] prepare_processes+0xe/0x41
       [<c014539e>] pm_suspend_disk+0x9/0xe2
       [<c0144635>] enter_state+0x53/0x177
       [<c01447df>] state_store+0x86/0x9c
       [<c01abde4>] subsys_attr_store+0x20/0x25
       [<c01abee3>] sysfs_write_file+0xa6/0xcc
       [<c0174d60>] vfs_write+0xcd/0x174
       [<c01753fa>] sys_write+0x3b/0x71
       [<c0103156>] sysenter_past_esp+0x5f/0x99
       [<ffffffff>] 0xffffffff

other info that might help us debug this:

2 locks held by bash/1961:
 #0:  (cpu_add_remove_lock){--..}, at: [<c02f8156>] mutex_lock+0x1c/0x1f
 #1:  (workqueue_mutex){--..}, at: [<c02f8156>] mutex_lock+0x1c/0x1f

stack backtrace:
 [<c01041ba>] dump_trace+0x63/0x1ca
 [<c0104333>] show_trace_log_lvl+0x12/0x25
 [<c0104993>] show_trace+0xd/0x10
 [<c0104a58>] dump_stack+0x16/0x18
 [<c013a2a9>] print_circular_bug_tail+0x57/0x62
 [<c013abd7>] __lock_acquire+0x923/0xae8
 [<c013b0fc>] lock_acquire+0x6b/0x88
 [<c0136e60>] down_read+0x28/0x3b
 [<c012e289>] blocking_notifier_call_chain+0x11/0x2d
 [<c013f98e>] _cpu_down+0x16f/0x207
 [<c013fbf8>] disable_nonboot_cpus+0x98/0x12c
 [<c01451d6>] prepare_processes+0xe/0x41
 [<c014539e>] pm_suspend_disk+0x9/0xe2
 [<c0144635>] enter_state+0x53/0x177
 [<c01447df>] state_store+0x86/0x9c
 [<c01abde4>] subsys_attr_store+0x20/0x25
 [<c01abee3>] sysfs_write_file+0xa6/0xcc
 [<c0174d60>] vfs_write+0xcd/0x174
 [<c01753fa>] sys_write+0x3b/0x71
 [<c0103156>] sysenter_past_esp+0x5f/0x99
DWARF2 unwinder stuck at sysenter_past_esp+0x5f/0x99

Leftover inexact backtrace:

l *blocking_notifier_call_chain+0x11/0x2d
0xc012e278 is in blocking_notifier_call_chain
(/usr/src/linux-mm/kernel/sys.c:324).
319      *      of the last notifier function called.
320      */
321
322     int blocking_notifier_call_chain(struct blocking_notifier_head *nh,
323                     unsigned long val, void *v)
324     {
325             int ret;
326
327             down_read(&nh->rwsem);
328             ret = notifier_call_chain(&nh->head, val, v);

l *mutex_lock+0x1c/0x1f
0xc02f813a is in mutex_lock (/usr/src/linux-mm/kernel/mutex.c:85).
80       *   deadlock debugging. )
81       *
82       * This function is similar to (but not equivalent to) down().
83       */
84      void inline fastcall __sched mutex_lock(struct mutex *lock)
85      {
86              might_sleep();
87              /*
88               * The locking fastpath is the 1->0 transition from
89               * 'unlocked' into 'locked' state.

http://www.stardust.webpages.pl/files/mm/2.6.18-rc6-mm2/mm-dmesg2
http://www.stardust.webpages.pl/files/mm/2.6.18-rc6-mm2/mm-config1

Regards,
Michal

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ