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: <20151228190715.GA20883@debian>
Date:	Mon, 28 Dec 2015 20:07:15 +0100
From:	Rabin Vincent <rabin@....in>
To:	Jens Axboe <axboe@...com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] null_blk: don't enable irqs when in irq

On Mon, Dec 28, 2015 at 11:52:24AM -0700, Jens Axboe wrote:
> Something like this should work, can you test it?

Spits out a bunch of the following.  It's this assertion:

static inline void queue_lockdep_assert_held(struct request_queue *q)
{
	if (q->queue_lock)
		lockdep_assert_held(q->queue_lock);
}

[   11.797139] ------------[ cut here ]------------
[   11.797670] WARNING: CPU: 0 PID: 6 at /home/rabin/dev/linux/include/linux/blkdev.h:505 blk_start_queue_async+0x54/0x60()
[   11.798810] Modules linked in:
[   11.799139] CPU: 0 PID: 6 Comm: kworker/u4:0 Not tainted 4.4.0-rc6+ #82
[   11.799811] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1 04/01/2014
[   11.800012] Workqueue: writeback wb_workfn (flush-253:0)
[   11.800012]  ffffffff817fdd30 ffff88000d603e40 ffffffff813446dc 0000000000000000
[   11.800012]  ffff88000d603e78 ffffffff810501e2 ffff88000005bc00 ffff88000005bc00
[   11.800012]  ffff88000d60db40 ffffffff813da2b0 ffff88000d60dc28 ffff88000d603e88
[   11.800012] Call Trace:
[   11.800012]  <IRQ>  [<ffffffff813446dc>] dump_stack+0x4e/0x82
[   11.800012]  [<ffffffff810501e2>] warn_slowpath_common+0x82/0xc0
[   11.800012]  [<ffffffff813da2b0>] ? null_softirq_done_fn+0x30/0x30
[   11.800012]  [<ffffffff810502da>] warn_slowpath_null+0x1a/0x20
[   11.800012]  [<ffffffff8131e094>] blk_start_queue_async+0x54/0x60
[   11.800012]  [<ffffffff813da244>] end_cmd+0x84/0xc0
[   11.800012]  [<ffffffff813da2c2>] null_cmd_timer_expired+0x12/0x20
[   11.800012]  [<ffffffff810bbaab>] __hrtimer_run_queues+0x12b/0x4b0
[   11.800012]  [<ffffffff810bc69f>] hrtimer_interrupt+0xaf/0x1b0
[   11.800012]  [<ffffffff8112446d>] ? mempool_alloc_slab+0x1d/0x30
[   11.800012]  [<ffffffff810361f6>] local_apic_timer_interrupt+0x36/0x60
[   11.800012]  [<ffffffff81563ced>] smp_apic_timer_interrupt+0x3d/0x50
[   11.800012]  [<ffffffff8156217c>] apic_timer_interrupt+0x8c/0xa0
[   11.800012]  <EOI>  [<ffffffff8112446d>] ? mempool_alloc_slab+0x1d/0x30
[   11.800012]  [<ffffffff8116431b>] ? __slab_alloc.isra.17.constprop.19+0x6b/0xa0
[   11.800012]  [<ffffffff81164558>] kmem_cache_alloc+0x208/0x240
[   11.800012]  [<ffffffff8112446d>] ? mempool_alloc_slab+0x1d/0x30
[   11.800012]  [<ffffffff8112446d>] mempool_alloc_slab+0x1d/0x30
[   11.800012]  [<ffffffff81124348>] mempool_alloc+0x68/0x170
[   11.800012]  [<ffffffff8109cc5f>] ? mark_held_locks+0x6f/0xa0
[   11.800012]  [<ffffffff81560a5f>] ? _raw_spin_unlock_irqrestore+0x5f/0x80
[   11.800012]  [<ffffffff81318128>] bio_alloc_bioset+0xb8/0x230
[   11.800012]  [<ffffffff811a32b3>] submit_bh_wbc.isra.2+0x73/0x130
[   11.800012]  [<ffffffff811a5230>] __block_write_full_page.constprop.3+0x110/0x360
[   11.800012]  [<ffffffff811a5870>] ? I_BDEV+0x20/0x20
[   11.800012]  [<ffffffff811a5870>] ? I_BDEV+0x20/0x20
[   11.800012]  [<ffffffff811a559c>] block_write_full_page+0x11c/0x1b0
[   11.800012]  [<ffffffff811a6418>] blkdev_writepage+0x18/0x20
[   11.800012]  [<ffffffff8112b9a6>] __writepage+0x16/0x40
[   11.800012]  [<ffffffff8112c746>] write_cache_pages+0x226/0x5f0
[   11.800012]  [<ffffffff8112b990>] ? bdi_set_max_ratio+0x70/0x70
[   11.800012]  [<ffffffff8112cb54>] generic_writepages+0x44/0x60
[   11.800012]  [<ffffffff81099e60>] ? __lock_is_held+0x50/0x70
[   11.800012]  [<ffffffff8112edf1>] do_writepages+0x21/0x30
[   11.800012]  [<ffffffff81198a3f>] __writeback_single_inode+0x7f/0x6f0
[   11.800012]  [<ffffffff8119937d>] writeback_sb_inodes+0x2cd/0x5b0
[   11.800012]  [<ffffffff811996ec>] __writeback_inodes_wb+0x8c/0xc0
[   11.800012]  [<ffffffff8119997b>] wb_writeback+0x25b/0x520
[   11.800012]  [<ffffffff8119aa38>] wb_workfn+0x2a8/0x5d0
[   11.800012]  [<ffffffff810eee79>] ? ring_buffer_event_data+0x9/0x10
[   11.800012]  [<ffffffff81068af6>] process_one_work+0x206/0x650
[   11.800012]  [<ffffffff81068a52>] ? process_one_work+0x162/0x650
[   11.800012]  [<ffffffff81068f8e>] worker_thread+0x4e/0x450
[   11.800012]  [<ffffffff81068f40>] ? process_one_work+0x650/0x650
[   11.800012]  [<ffffffff8106faef>] kthread+0xef/0x110
[   11.800012]  [<ffffffff8106fa00>] ? kthread_stop+0x280/0x280
[   11.800012]  [<ffffffff8156171f>] ret_from_fork+0x3f/0x70
[   11.800012]  [<ffffffff8106fa00>] ? kthread_stop+0x280/0x280
[   11.800012] ---[ end trace b21adbd5c353edec ]---

--
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