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>] [day] [month] [year] [list]
Date:	Mon, 28 Oct 2013 21:29:45 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Tejun Heo <tj@...nel.org>
Cc:	linux-kernel@...r.kernel.org
Subject: [sysfs/kernfs] BUG: bad unlock balance detected

Greetings,

I got the below dmesg and the first bad commit is

commit 2fc546abb938dac3bb72061b030d00e18896b336
Author: Tejun Heo <tj@...nel.org>
Date:   Tue Oct 22 07:03:56 2013 -0400

    sysfs, kernfs: prepare read path for kernfs
    
    We're in the process of separating out core sysfs functionality into
    kernfs which will deal with sysfs_dirents directly.  This patch
    rearranges read path so that the kernfs and sysfs parts are separate.
    
    * Regular file read path is refactored such that
      kernfs_seq_start/next/stop/show() handle all the boilerplate work
      including locking and updating event count for poll, while
      sysfs_kf_seq_show() deals with interaction with kobj show method.
    
    * Bin file read path is refactored such that kernfs_file_direct_read()
      handles all the boilerplate work including buffer management and
      locking, while sysfs_kf_bin_read() deals with interaction with
      bin_attribute read method.
    
    kernfs_file_read() is added.  It invokes either the seq_file or direct
    read path depending on the file type.  This will eventually allow
    using the same file_operations for both file types, which is necessary
    to separate out kernfs.
    
    While this patch changes the order of some operations, it shouldn't
    change any visible behavior.
    
    Signed-off-by: Tejun Heo <tj@...nel.org>

+------------------------------------------------------------------------------------+--------------+--------------+
|                                                                                    | c60c2b7e4de8 | a3ccb6c1ef2f |
+------------------------------------------------------------------------------------+--------------+--------------+
| good_boots                                                                         | 511          | 60           |
| has_kernel_error_warning                                                           | 673          | 38           |
| BUG:kernel_test_hang                                                               | 556          | 10           |
| INFO:task_blocked_for_more_than_seconds                                            | 60           | 3            |
| Kernel_panic-not_syncing:hung_task:blocked_tasks                                   | 8            | 1            |
| INFO:rcu_sched_detected_stalls_on_CPUs/tasks:(detected_by,t=jiffies,g=,c=,q=)      | 8            | 1            |
| INFO:NMI_handler(arch_trigger_all_cpu_backtrace_handler)took_too_long_to_run:msecs | 7            | 1            |
| INFO:rcu_sched_self-detected_stall_on_CPU(t=jiffies_g=c=q=)                        | 4            | 5            |
| Out_of_memory:Kill_process                                                         | 1            | 1            |
| BUG:kernel_test_crashed                                                            | 55           | 3            |
| general_protection_fault:SMP                                                       | 0            | 2            |
| Kernel_panic-not_syncing:Attempted_to_kill_init_exitcode=                          | 0            | 9            |
| WARNING:CPU:PID:at_drivers/pci/pci.c:pci_disable_device()                          | 0            | 1            |
| WARNING:CPU:PID:at_lib/iomap.c:bad_io_access()                                     | 0            | 5            |
| is_trying_to_release_lock(of-mutex)at                                              | 0            | 3            |
| BUG:unable_to_handle_kernel_paging_request_at                                      | 0            | 4            |
| Oops:SMP                                                                           | 0            | 7            |
| WARNING:CPU:PID:at_drivers/ata/libata-eh.c:ata_eh_acquire()                        | 0            | 2            |
| BUG:unable_to_handle_kernel_NULL_pointer_dereference_at                            | 0            | 2            |
| BUG:unable_to_handle_kernel                                                        | 0            | 1            |
| INFO:Stall_ended_before_state_dump_start                                           | 0            | 1            |
+------------------------------------------------------------------------------------+--------------+--------------+

[  969.609526] [ BUG: bad unlock balance detected! ]
[  969.609529] 3.12.0-rc6-wl-01422-ga3ccb6c #384 Not tainted
[  969.609529] -------------------------------------
[  969.609533] trinity-child1/3338 is trying to release lock (&of->mutex) at:
[  969.609542] [<ffffffff81a401fc>] mutex_unlock+0xe/0x10
[  969.609543] but there are no more locks to release!
[  969.609544] 
[  969.609544] other info that might help us debug this:
[  969.609545] 1 lock held by trinity-child1/3338:
[  969.609554]  #0:  (&p->lock){......}, at: [<ffffffff811e2338>] seq_read+0x3c/0x34b
[  969.609554] 
[  969.609554] stack backtrace:
[  969.609558] CPU: 1 PID: 3338 Comm: trinity-child1 Not tainted 3.12.0-rc6-wl-01422-ga3ccb6c #384
[  969.609559] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[  969.609563]  0000000000000000 ffff880019737d28 ffffffff81a3796d ffff88000fee2340
[  969.609566]  ffff880019737d50 ffffffff81119ef7 ffff88000fee2340 00000000ffffffff
[  969.609569]  0000000000000001 ffff880019737dc0 ffffffff8111bc30 0000000000000002
[  969.609570] Call Trace:
[  969.609575]  [<ffffffff81a3796d>] dump_stack+0x54/0x74
[  969.609582]  [<ffffffff81119ef7>] print_unlock_imbalance_bug+0xe5/0xee
[  969.609585]  [<ffffffff8111bc30>] lock_release_non_nested+0x160/0x29b
[  969.609590]  [<ffffffff810f359b>] ? local_clock+0x41/0x5a
[  969.609594]  [<ffffffff81a401fc>] ? mutex_unlock+0xe/0x10
[  969.609597]  [<ffffffff81a401fc>] ? mutex_unlock+0xe/0x10
[  969.609600]  [<ffffffff8111bf63>] lock_release+0x1f8/0x1fb
[  969.609604]  [<ffffffff81a4018a>] __mutex_unlock_slowpath+0xef/0x153
[  969.609607]  [<ffffffff81a401fc>] mutex_unlock+0xe/0x10
[  969.609610]  [<ffffffff81227a3e>] kernfs_seq_stop+0x46/0x4c
[  969.609613]  [<ffffffff811e251b>] seq_read+0x21f/0x34b
[  969.609616]  [<ffffffff81227d77>] kernfs_file_read+0x3d/0x126
[  969.609622]  [<ffffffff811c4de5>] vfs_read+0xa1/0x151
[  969.609625]  [<ffffffff811c57b7>] SyS_read+0x4c/0x83
[  969.609629]  [<ffffffff81a4aca9>] system_call_fastpath+0x16/0x1b

git bisect start a3ccb6c1ef2ff3c5e681b0a36ba43feb8a3fb401 31d141e3a666269a3b6fcccddb0351caf7454240 --
git bisect good 1734bf83a82c52ed2658fe1f07742eac321813d3  # 21:29    296+     50  Merge 'ath6kl/ath-next' into devel-hourly-2013102301
git bisect  bad 75f1457ee73528f0e61c80fb1c7976535c64bfce  # 22:16     24-     12  Merge 'wfg/virtio-net-sleeping-fix' into devel-hourly-2013102301
git bisect good 6b991c3763e15a0884095fc0c133980c5577e9c7  # 03:29    296+    293  bnx2x: Prevent null pointer dereference on error flow
git bisect good 95f4ad8f05ba7ecde62215163404d291dbc56d68  # 08:14    296+    110  sysfs, kernfs: introduce kernfs_create_link()
git bisect good dc2364837ae4416a7646494cb672175339388e60  # 11:51    296+    142  Merge 'ath6kl/master' into devel-hourly-2013102301
git bisect  bad acd8b9fc6b4242bdf72fd2b5a1ac5140f69f2932  # 12:25      3-      1  sysfs, kernfs: move internal decls to fs/kernfs/kernfs-internal.h
git bisect  bad 78676703fdf0f37ae33e890400a76fcd23b83739  # 13:56     18-      1  sysfs, kernfs: move sysfs_open_file to include/linux/kernfs.h
git bisect  bad 2fc546abb938dac3bb72061b030d00e18896b336  # 15:41     17-      1  sysfs, kernfs: prepare read path for kernfs
git bisect good c16b43ff3bfac36ebb338091932969f9a82533f5  # 22:14    296+    234  sysfs, kernfs: introduce kernfs_setattr()
git bisect good c60c2b7e4de82fab809e29351f538d996c2dedc7  # 01:43    296+     98  sysfs, kernfs: introduce kernfs_create_dir[_ns]()
git bisect good c60c2b7e4de82fab809e29351f538d996c2dedc7  # 07:18    888+    673  sysfs, kernfs: introduce kernfs_create_dir[_ns]()
git bisect  bad a3ccb6c1ef2ff3c5e681b0a36ba43feb8a3fb401  # 07:18      0-     38  Merge 'lunn/v3.12-rc5-rafael-next-dove-cpufreq' into devel-hourly-2013102301
git bisect good d255c59aab2a3fdf0bb8a5db75e50d9c926c3bb9  # 14:29    888+    882  Merge tag 'for-linus-20131025' of git://git.infradead.org/linux-mtd
git bisect good a0cf1abc25ac197dd97b857c0f6341066a8cb1cf  # 05:24    888+    774  Add linux-next specific files for 20130927

Thanks,
Fengguang

View attachment "dmesg-nfsroot-snb-22:20131023035628:x86_64-lkp-CONFIG_DEBUG_RODATA:3.12.0-rc6-wl-01422-ga3ccb6c:384" of type "text/plain" (53431 bytes)

Download attachment "bisect-a3ccb6c1ef2ff3c5e681b0a36ba43feb8a3fb401-x86_64-lkp-CONFIG_DEBUG_RODATA-BUG:-bad-unlock-balance-detected-71347.log" of type "application/octet-stream" (39420 bytes)

View attachment "config-3.12.0-rc6-wl-01422-ga3ccb6c" of type "text/plain" (80232 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ