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: <454644C1.4080702@rtr.ca>
Date:	Mon, 30 Oct 2006 13:30:25 -0500
From:	Mark Lord <liml@....ca>
To:	Jens Axboe <jens.axboe@...cle.com>
Cc:	Arjan van de Ven <arjan@...radead.org>,
	IDE/ATA development list <linux-ide@...r.kernel.org>,
	Linux Kernel <linux-kernel@...r.kernel.org>, mingo@...e.hu
Subject: Re: 2.6.19-rc3-git7: scsi_device_unbusy: inconsistent lock state

Jens Axboe wrote:
> Can you do:
> 
> $ gdb vmlinux
>   l *cfq_set_request+0x351
> 
> assuming you built with DEBUG_INFO enabled.

Here it is again, from kernel with FRAME_POINTERS and DEBUG_INFO enabled:

=================================
[ INFO: inconsistent lock state ]
2.6.19-rc3-git7-ml #6
---------------------------------
inconsistent {in-softirq-W} -> {softirq-on-W} usage.
startproc/3964 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (&q->__queue_lock){-+..}, at: [<c021780e>] cfq_set_request+0x33e/0x3a0
{in-softirq-W} state was registered at:
  [<c0137439>] mark_lock+0x79/0x600
  [<c013880d>] __lock_acquire+0x64d/0xc20
  [<c013914d>] lock_acquire+0x5d/0x80
  [<c035ea8b>] _spin_lock+0x2b/0x40
  [<c029ee87>] scsi_device_unbusy+0x67/0xa0
  [<c029992c>] scsi_finish_command+0x1c/0xa0
  [<c029f04f>] scsi_softirq_done+0xcf/0xf0
  [<c020fc8b>] blk_done_softirq+0x6b/0x80
  [<c0122732>] __do_softirq+0x92/0x110
  [<c0122815>] do_softirq+0x65/0x70
  [<c0122c85>] ksoftirqd+0x85/0xd0
  [<c0130d48>] kthread+0xe8/0xf0
  [<c0103c4b>] kernel_thread_helper+0x7/0x1c
  [<ffffffff>] 0xffffffff
irq event stamp: 1927
hardirqs last  enabled at (1927): [<c0162a15>] kmem_cache_alloc+0x75/0xb0
hardirqs last disabled at (1926): [<c01629c2>] kmem_cache_alloc+0x22/0xb0
softirqs last  enabled at (0): [<c011b653>] copy_process+0x353/0x1290
softirqs last disabled at (0): [<00000000>] 0x0

other info that might help us debug this:
no locks held by startproc/3964.

stack backtrace:
 [<c0104088>] dump_trace+0x1c8/0x200
 [<c01040da>] show_trace_log_lvl+0x1a/0x30
 [<c0104832>] show_trace+0x12/0x20
 [<c0104999>] dump_stack+0x19/0x20
 [<c0137053>] print_usage_bug+0x243/0x250
 [<c0137962>] mark_lock+0x5a2/0x600
 [<c0138832>] __lock_acquire+0x672/0xc20
 [<c013914d>] lock_acquire+0x5d/0x80
 [<c035ea8b>] _spin_lock+0x2b/0x40
 [<c021780e>] cfq_set_request+0x33e/0x3a0
 [<c020af3f>] elv_set_request+0x1f/0x50
 [<c020e40d>] get_request+0x21d/0x250
 [<c020ec4c>] get_request_wait+0x1c/0x100
 [<c020eebd>] __make_request+0x5d/0x330
 [<c020db44>] generic_make_request+0x174/0x230
 [<c020fed0>] submit_bio+0x60/0x110
 [<c018dcfc>] mpage_bio_submit+0x1c/0x30
 [<c018f363>] mpage_readpages+0x103/0x140
 [<c01aab49>] reiserfs_readpages+0x19/0x20
 [<c014d511>] __do_page_cache_readahead+0x161/0x220
 [<c014d632>] blockable_page_cache_readahead+0x62/0xc0
 [<c014d86f>] page_cache_readahead+0x11f/0x1d0
 [<c0147511>] do_generic_mapping_read+0x501/0x540
 [<c01495a3>] generic_file_aio_read+0xf3/0x240
 [<c0166020>] do_sync_read+0xd0/0x110
 [<c01668e4>] vfs_read+0x94/0x160
 [<c0166e2d>] sys_read+0x3d/0x70
 [<c0102f4d>] sysenter_past_esp+0x56/0x8d
 [<b7f84410>] 0xb7f84410
 =======================

(gdb) l *cfq_set_request+0x33e
0xc021780e is in cfq_set_request (block/cfq-iosched.c:1224).
1219            if (unlikely(!cfqd))
1220                    return;
1221
1222            spin_lock(cfqd->queue->queue_lock);
1223
1224            cfqq = cic->cfqq[ASYNC];
1225            if (cfqq) {
1226                    struct cfq_queue *new_cfqq;
1227                    new_cfqq = cfq_get_queue(cfqd, CFQ_KEY_ASYNC, cic->ioc->task,
1228                                             GFP_ATOMIC);


-
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