[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131205031051.GC5135@yliu-dev.sh.intel.com>
Date: Thu, 5 Dec 2013 11:10:51 +0800
From: Yuanhan Liu <yuanhan.liu@...ux.intel.com>
To: Tejun Heo <tj@...nel.org>
Cc: Fengguang Wu <fengguang.wu@...el.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-kernel@...r.kernel.org,
Yuanhan Liu <yuanhan.liu@...ux.intel.com>
Subject: BUG: sleeping function called from invalid context at
kernel/locking/rwsem.c:20
Greetings,
I got the below dmesg and the first bad commit is
commit 4b93dc9b1c684d0587fe44d36bbfdf45bd3bea9d
Author: Tejun Heo <tj@...nel.org>
AuthorDate: Thu Nov 28 14:54:43 2013 -0500
Commit: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CommitDate: Fri Nov 29 18:16:08 2013 -0800
sysfs, kernfs: prepare mount 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 mount path so that the kernfs and sysfs parts are separate.
* As sysfs_super_info won't be visible outside kernfs proper,
kernfs_super_ns() is added to allow kernfs users to access a
super_block's namespace tag.
* Generic mount operation is separated out into kernfs_mount_ns().
sysfs_mount() now just performs sysfs-specific permission check,
acquires namespace tag, and invokes kernfs_mount_ns().
* Generic superblock release is separated out into kernfs_kill_sb()
which can be used directly as file_system_type->kill_sb(). As sysfs
needs to put the namespace tag, sysfs_kill_sb() wraps
kernfs_kill_sb() with ns tag put.
* sysfs_dir_cachep init and sysfs_inode_init() are separated out into
kernfs_init(). kernfs_init() uses only small amount of memory and
trying to handle and propagate kernfs_init() failure doesn't make
much sense. Use SLAB_PANIC for sysfs_dir_cachep and make
sysfs_inode_init() panic on failure.
After this change, kernfs_init() should be called before
sysfs_init(), fs/namespace.c::mnt_init() modified accordingly.
Signed-off-by: Tejun Heo <tj@...nel.org>
Cc: linux-fsdevel@...r.kernel.org
Cc: Christoph Hellwig <hch@...radead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
+-----------------------------------------------------------------------------+----+
| | |
+-----------------------------------------------------------------------------+----+
| boot_successes | 9 |
| boot_failures | 10 |
| BUG:sleeping_function_called_from_invalid_context_at_kernel/locking/rwsem.c | 10 |
+-----------------------------------------------------------------------------+----+
[ 1.488272] tsc: Refined TSC clocksource calibration: 2892.983 MHz
[ 67.140822] general protection fault: 0000 [#1]
[ 67.141478] CPU: 0 PID: 359 Comm: umount Not tainted 3.13.0-rc2-next-20131204-02848-g9a96b57 #153
[ 67.141478] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 67.141478] task: ffff88000be9c150 ti: ffff88000b8a2000 task.ti: ffff88000b8a2000
[ 67.141478] RIP: 0010:[<ffffffff81878e1d>] [<ffffffff81878e1d>] net_drop_ns+0xd/0x40
[ 67.141478] RSP: 0018:ffff88000b8a3e80 EFLAGS: 00010282
[ 67.141478] RAX: ffffffff81878e10 RBX: a56b6b6b6b6b6b6b RCX: 00000001002e000f
[ 67.141478] RDX: 00000001002e0010 RSI: a56b6b6b6b6b6b6b RDI: a56b6b6b6b6b6b6b
[ 67.141478] RBP: ffff88000b8a3e88 R08: 0000000000000000 R09: 0000000000000000
[ 67.141478] R10: ffff88000b811d20 R11: ffff88000f801c80 R12: ffffffff8203f7a0
[ 67.141478] R13: 0000000000000000 R14: ffff88000b867dd0 R15: ffff88000b867da0
[ 67.141478] FS: 00007fbd06beb700(0000) GS:ffffffff8201c000(0000) knlGS:0000000000000000
[ 67.141478] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 67.141478] CR2: 00000000004060f0 CR3: 000000000b855000 CR4: 00000000000006f0
[ 67.141478] Stack:
[ 67.141478] ffff88000bf24038 ffff88000b8a3e98 ffffffff8144bbda ffff88000b8a3eb0
[ 67.141478] ffffffff8117eb02 ffff88000bf24038 ffff88000b8a3ed0 ffffffff81119fd5
[ 67.141478] ffff88000bf24038 ffff88000b867da0 ffff88000b8a3ee8 ffffffff8111a040
[ 67.141478] Call Trace:
[ 67.141478] [<ffffffff8144bbda>] kobj_ns_drop+0x3a/0x40
[ 67.141478] [<ffffffff8117eb02>] sysfs_kill_sb+0x22/0x30
[ 67.141478] [<ffffffff81119fd5>] deactivate_locked_super+0x35/0x60
[ 67.141478] [<ffffffff8111a040>] deactivate_super+0x40/0x60
[ 67.141478] [<ffffffff81133c6a>] mntput_no_expire+0xda/0x1b0
[ 67.141478] [<ffffffff8113526b>] SyS_umount+0x8b/0x390
[ 67.141478] [<ffffffff81a9b6f7>] system_call_fastpath+0x16/0x1b
[ 67.141478] Code: ff ff 49 83 7c 24 30 00 0f 85 e6 fe ff ff e9 fb fe ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 85 ff 48 89 e5 53 48 89 fb 74 04 <ff> 0f 74 07 5b 5d c3 0f 1f 40 00 48 8b bf 48 05 00 00 e8 bc 47
[ 67.141478] RIP [<ffffffff81878e1d>] net_drop_ns+0xd/0x40
[ 67.141478] RSP <ffff88000b8a3e80>
[ 67.188547] ---[ end trace f8632d807e5afcad ]---
[ 67.189485] BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:20
git bisect start e817290b845ad62b681bc0d2b86feb4c6577789e v3.12 --
git bisect good f47671e2d861a2093179cd64dda22016664b2015 # 20:57 40+ 0 Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
git bisect good 041b499bb1b88512b96b411a1695a86f32ee55d5 # 21:18 40+ 0 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes
git bisect good 3f1059e0c14f69d2e6f09855a96ca08e6239f244 # 21:26 40+ 0 Merge remote-tracking branch 'v9fs/for-next'
git bisect good 6deb58a96f4d1befbc6831f4212963bd0093e181 # 21:32 40+ 0 Merge remote-tracking branch 'watchdog/master'
git bisect good e2f6df943892654b221a27f0be66c838c2c2bbed # 21:38 40+ 0 staging: comedi: pcl812: tidy up the irq support in pcl812_attach()
git bisect good 4d29576b668aeca8d604e0d3db7722f4cb84884a # 22:16 40+ 0 Merge remote-tracking branch 'leds/for-next'
git bisect bad 5bbc0c5bc993ccc43b0e99bb2412e41b98aedaa1 # 22:28 9- 5 Merge remote-tracking branch 'char-misc/char-misc-next'
git bisect good a458677db6a928535a7186248983d1e192142e83 # 22:33 40+ 0 usb: host: Remove superfluous name casts
git bisect good 2072f1afddfe9fa00c1c0c79f8986707324ec65b # 23:03 40+ 0 sysfs, kernfs: move symlink core code to fs/kernfs/symlink.c
git bisect bad eaac12be57a276ad7da60a1dc3dd8cd54bc9817c # 23:17 4- 5 Merge remote-tracking branch 'usb/usb-next'
git bisect good df394fb56c64244b30b442e9e02de1a2d9c5a98b # 00:14 40+ 0 sysfs, kernfs: make super_blocks bind to different kernfs_roots
git bisect bad ac9bba031001704a2339713cc12148857eccc5e5 # 00:32 2- 1 sysfs, kernfs: implement kernfs_ns_enabled()
git bisect bad fa736a951e456b996a76826ba78ff974414c3b55 # 00:47 3- 1 sysfs, kernfs: move mount core code to fs/kernfs/mount.c
git bisect bad 4b93dc9b1c684d0587fe44d36bbfdf45bd3bea9d # 01:00 6- 2 sysfs, kernfs: prepare mount path for kernfs
# first bad commit: [4b93dc9b1c684d0587fe44d36bbfdf45bd3bea9d] sysfs, kernfs: prepare mount path for kernfs
git bisect good df394fb56c64244b30b442e9e02de1a2d9c5a98b # 01:10 195+ 0 sysfs, kernfs: make super_blocks bind to different kernfs_roots
git bisect bad 9a96b5740489ec8410be60b7d52504c76caca49e # 01:10 0- 10 Add linux-next specific files for 20131204
git bisect good dea4f48a0a301b23c65af8e4fe8ccf360c272fbf # 01:28 195+ 0 Merge branch 'leds-fixes-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds
git bisect bad 9a96b5740489ec8410be60b7d52504c76caca49e # 01:28 0- 10 Add linux-next specific files for 20131204
--yliu
View attachment "dmesg-yocto-xian-29:20131204112600:x86_64-randconfig-c6-1204:3.13.0-rc2-next-20131204-02848-g9a96b57:153" of type "text/plain" (59877 bytes)
View attachment "config-3.13.0-rc2-next-20131204-02848-g9a96b57" of type "text/plain" (83689 bytes)
Powered by blists - more mailing lists