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-next>] [day] [month] [year] [list]
Message-ID: <20140326142646.GA26473@localhost>
Date:	Wed, 26 Mar 2014 22:26:46 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Fabian Frederick <fabf@...net.be>
Cc:	linux-kernel@...r.kernel.org
Subject: [ufs] WARNING: CPU: 0 PID: 483 at kernel/locking/mutex-debug.c:117
 mutex_destroy()

Greetings,

I got the below dmesg and the first bad commit is

git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master

commit c7d2e322dd6eac1e3b44d2ea13f9818ad0f903de
Author:     Fabian Frederick <fabf@...net.be>
AuthorDate: Sat Mar 22 12:49:51 2014 +1100
Commit:     Stephen Rothwell <sfr@...b.auug.org.au>
CommitDate: Mon Mar 24 17:32:07 2014 +1100

    ufs: sb mutex merge + mutex_destroy
    
    788257d6101d9 ("ufs: remove the BKL") replaced BKL with mutex protection
    using functions lock_ufs, unlock_ufs and struct mutex 'mutex' in sb_info.
    
    b6963327e052 ("ufs: drop lock/unlock super") removed lock/unlock super and
    added struct mutex 's_lock' in sb_info.
    
    Those 2 mutexes are generally locked/unlocked at the same time except in
    allocation (balloc, ialloc).
    
    This patch merges the 2 mutexes and propagates first commit solution.  It
    also adds mutex destruction before kfree during ufs_fill_super failure and
    ufs_put_super.
    
    Signed-off-by: Fabian Frederick <fabf@...net.be>
    Cc: Evgeniy Dushistov <dushistov@...l.ru>
    Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>

+-----------------------------------------------------------------+------------+---------------+
|                                                                 | c7d2e322dd | next-20140324 |
+-----------------------------------------------------------------+------------+---------------+
| boot_successes                                                  | 31         | 4             |
| boot_failures                                                   | 26         | 15            |
| WARNING:CPU:PID:at_kernel/locking/mutex-debug.c:mutex_destroy() | 26         | 15            |
| INFO:rcu_preempt_detected_stalls_on_CPUs/tasks                  | 25         | 15            |
| INFO:task_blocked_for_more_than_seconds                         | 26         | 15            |
| RIP:flat_send_IPI_mask                                          | 26         | 15            |
| Kernel_panic-not_syncing:hung_task:blocked_tasks                | 26         | 15            |
| backtrace:do_mount                                              | 26         | 15            |
| backtrace:SyS_mount                                             | 26         | 15            |
| backtrace:user_path_create                                      | 25         | 15            |
| backtrace:SyS_mknodat                                           | 25         | 15            |
| backtrace:SyS_mknod                                             | 25         | 15            |
| backtrace:watchdog                                              | 26         | 15            |
| backtrace:work_fn                                               | 1          |               |
+-----------------------------------------------------------------+------------+---------------+

[    7.661278] UFSD (fs/ufs/super.c, 1264): ufs_fill_super:
[    7.664618] ufs was compiled with read-only support, can't be mounted as read-write
[    7.667790] UFSD (fs/ufs/super.c, 1264): ufs_fill_super:
[    7.670703] WARNING: CPU: 0 PID: 483 at kernel/locking/mutex-debug.c:117 mutex_destroy+0x4c/0x65()
[    7.674108] ufs was compiled with read-only support, can't be mounted as read-write
[    7.676652] flag 0
[    7.677363] ufs was compiled with read-only support, can't be mounted as read-write

git bisect start 098bc161bfc7697f7e2ca15400f13ca1ac60e9dd 9b28ec4b41883a83c3b0960e61739162443c5bba --
git bisect  bad 46a1de3d4918d4210affec733d665fd0ff2391e3  # 20:06     15-      4  Merge branch 'akpm/master'
git bisect good c51fabb1e3b203382616ca21f7cf4e7b0912d50e  # 20:20     57+      1  Revert "vmstat: use raw_cpu_ops to avoid false positives on preemption checks"
git bisect good bc82fcdfe572cea8d21ad97f1fab2d8cf3d412bc  # 20:45     57+      0  net: replace __this_cpu_inc in route.c with raw_cpu_inc
git bisect good 855370bf10fd8eb8877e197b6cbcd0262a9b34b7  # 21:04     57+      0  arm64: initialize pgprot info earlier in boot
git bisect good a5a8c89e515b8617f232d1a3375a086c4bfcae24  # 21:28     57+      0  fs/ufs: remove unused ufs_super_block_second pointer
git bisect  bad c7d2e322dd6eac1e3b44d2ea13f9818ad0f903de  # 21:48     22-      5  ufs: sb mutex merge + mutex_destroy
git bisect good e68aadb9f813be874722b4ef1e84b32557688364  # 22:11     57+      0  fs/ufs: remove unused ufs_super_block_third pointer
# first bad commit: [c7d2e322dd6eac1e3b44d2ea13f9818ad0f903de] ufs: sb mutex merge + mutex_destroy
git bisect good e68aadb9f813be874722b4ef1e84b32557688364  # 22:21    171+      0  fs/ufs: remove unused ufs_super_block_third pointer
git bisect  bad 098bc161bfc7697f7e2ca15400f13ca1ac60e9dd  # 22:21      0-     15  Add linux-next specific files for 20140324
git bisect good b098d6726bbfb94c06d6e1097466187afddae61f  # 23:12    171+      2  Linux 3.14-rc8
git bisect  bad 2ec6ab7445b659589abf5b9cf6c087c420d439bd  # 23:22     50-      1  Add linux-next specific files for 20140325


This script may reproduce the error.

-----------------------------------------------------------------------------
#!/bin/bash

kernel=$1
initrd=yocto-minimal-x86_64.cgz

wget --no-clobber https://github.com/fengguang/reproduce-kernel-bug/blob/master/initrd/$initrd

kvm=(
	qemu-system-x86_64 -cpu kvm64 -enable-kvm
	-kernel $kernel
	-initrd $initrd
	-smp 2
	-m 256M
	-net nic,vlan=0,macaddr=00:00:00:00:00:00,model=virtio
	-net user,vlan=0
	-net nic,vlan=1,model=e1000
	-net user,vlan=1
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-serial stdio
	-display none
	-monitor null
)

append=(
	debug
	sched_debug
	apic=debug
	ignore_loglevel
	sysrq_always_enabled
	panic=10
	prompt_ramdisk=0
	earlyprintk=ttyS0,115200
	console=ttyS0,115200
	console=tty0
	vga=normal
	root=/dev/ram0
	rw
)

"${kvm[@]}" --append "${append[*]}"
-----------------------------------------------------------------------------

Thanks,
Fengguang

View attachment "dmesg-yocto-ivytown2-39:20140325215015:x86_64-randconfig-r3-03251014:3.14.0-rc7-11620-gc7d2e32:1" of type "text/plain" (111072 bytes)

Download attachment "x86_64-randconfig-r3-03251014-098bc161bfc7697f7e2ca15400f13ca1ac60e9dd-WARNING:---at----mutex_destroy+-x-77588.log" of type "application/octet-stream" (23081 bytes)

View attachment "config-3.14.0-rc7-11620-gc7d2e32" of type "text/plain" (88543 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ