Linux-NVME Archive on lore.kernel.org
 help / color / Atom feed
* panic in pci driver
@ 2019-09-11 18:46 Sagi Grimberg
  2019-09-12  3:31 ` Keith Busch
  0 siblings, 1 reply; 3+ messages in thread
From: Sagi Grimberg @ 2019-09-11 18:46 UTC (permalink / raw)
  To: Keith Busch, linux-nvme, Christoph Hellwig

Hey,

Just hit the following bug on a simple test case with Qemu nvme emulation:

for i in `seq 100`; do echo 1 > 
/sys/devices/pci0000\:00/0000\:00\:0a.0/remove; echo 1 > 
/sys/bus/pci/rescan; done

Keith, is that addressed by your series with the reset_prepare stuff?

trace:
--
[ 3696.109765] nvme nvme49: pci function 0000:00:0a.0
[ 3696.141230] nvme nvme49: failed to mark controller CONNECTING
[ 3696.141235] nvme nvme49: Removing after probe failure status: -16
[ 3696.197746] pci 0000:00:0a.0: [8086:5845] type 00 class 0x010802
[ 3696.199445] pci 0000:00:0a.0: reg 0x10: [mem 0x40000000-0x40001fff 64bit]
[ 3696.203237] pci 0000:00:0a.0: reg 0x20: [mem 0x40002000-0x40002fff]
[ 3696.207154] pci 0000:00:0a.0: BAR 0: assigned [mem 
0x40000000-0x40001fff 64bit]
[ 3696.208583] pci 0000:00:0a.0: BAR 4: assigned [mem 0x40002000-0x40002fff]
[ 3696.210642] nvme nvme50: pci function 0000:00:0a.0
[ 3696.217295] pci 0000:00:0a.0: [8086:5845] type 00 class 0x010802
[ 3696.219726] pci 0000:00:0a.0: reg 0x10: [mem 0x40000000-0x40001fff 64bit]
[ 3696.226710] pci 0000:00:0a.0: reg 0x20: [mem 0x40002000-0x40002fff]
[ 3696.248463] BUG: unable to handle page fault for address: 
ffffa99fc0a0201c
[ 3696.248601] #PF: supervisor read access in kernel mode
[ 3696.248727] #PF: error_code(0x0000) - not-present page
[ 3696.248839] PGD 3e537067 P4D 3e537067 PUD 3e538067 PMD 32eec067 PTE 0
[ 3696.248961] Oops: 0000 [#1] SMP PTI
[ 3696.249074] CPU: 0 PID: 1316 Comm: kworker/u4:5 Tainted: G 
O      5.3.0-rc3+ #325
[ 3696.249259] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), 
BIOS 1.10.2-1ubuntu1 04/01/2014
[ 3696.249383] Workqueue: nvme-reset-wq nvme_reset_work [nvme]
[ 3696.249497] RIP: 0010:nvme_reset_work+0x16d/0x1550 [nvme]
[ 3696.249510] pci 0000:00:0a.0: BAR 0: assigned [mem 
0x40000000-0x40001fff 64bit]
[ 3696.249646] Code: 00 00 48 81 c4 c0 00 00 00 5b 5d 41 5c 41 5d 41 5e 
41 5f c3 48 c7 c6 ff ff ff ff 48 89 df e8 0a 2d 6e e1 49 8b 86 a0 fb ff 
ff <8b> 40 1c 83 f8 ff 75 12 48 89 ef bb ed ff ff ff e8 6e e2 aa e1 e9
[ 3696.250543] RSP: 0018:ffffa99fc0903da8 EFLAGS: 00010246
[ 3696.250769] RAX: ffffa99fc0a02000 RBX: ffff926f7c1780b0 RCX: 
0000000000000004
[ 3696.251016] RDX: 0000000000000000 RSI: ffffffffffffffff RDI: 
ffff926f7c1780b0
[ 3696.251335] RBP: ffff926f7c178000 R08: 0000000000000002 R09: 
0000000000000107
[ 3696.251573] R10: 0000000000000050 R11: ffffffffa325c908 R12: 
ffff926f7592e1c0
[ 3696.251820] R13: ffff926f7592e000 R14: ffff926f7592e5f0 R15: 
ffff926f7c1780b0
[ 3696.252056] FS:  0000000000000000(0000) GS:ffff926f7ea00000(0000) 
knlGS:0000000000000000
[ 3696.252356] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 3696.252561] CR2: ffffa99fc0a0201c CR3: 000000003073c003 CR4: 
00000000003606f0
[ 3696.252778] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 
0000000000000000
[ 3696.253058] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 
0000000000000400
[ 3696.253357] Call Trace:
[ 3696.253662]  ? __switch_to_asm+0x40/0x70
[ 3696.253900]  ? __switch_to_asm+0x34/0x70
[ 3696.254197]  ? __switch_to_asm+0x40/0x70
[ 3696.254215] pci 0000:00:0a.0: BAR 4: assigned [mem 0x40002000-0x40002fff]
[ 3696.254380]  ? __switch_to_asm+0x34/0x70
[ 3696.254759]  ? __switch_to_asm+0x40/0x70
[ 3696.254944]  ? __switch_to_asm+0x34/0x70
[ 3696.255205]  ? __switch_to_asm+0x40/0x70
[ 3696.255402]  ? __switch_to_asm+0x34/0x70
[ 3696.255594]  ? __switch_to_asm+0x40/0x70
[ 3696.255778]  ? __switch_to_asm+0x34/0x70
[ 3696.255988]  ? __switch_to_asm+0x40/0x70
[ 3696.256227]  ? __switch_to_asm+0x34/0x70
[ 3696.256369]  ? __switch_to_asm+0x40/0x70
[ 3696.256503]  ? __switch_to_asm+0x34/0x70
[ 3696.256658]  ? __switch_to+0x7a/0x3d0
[ 3696.256805]  ? __switch_to_asm+0x34/0x70
[ 3696.258092]  process_one_work+0x1f4/0x3e0
[ 3696.258738]  worker_thread+0x221/0x3e0
[ 3696.259292]  ? process_one_work+0x3e0/0x3e0
[ 3696.259778]  kthread+0x117/0x130
[ 3696.260251]  ? kthread_create_worker_on_cpu+0x70/0x70
[ 3696.260718]  ret_from_fork+0x35/0x40
--

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: panic in pci driver
  2019-09-11 18:46 panic in pci driver Sagi Grimberg
@ 2019-09-12  3:31 ` Keith Busch
  2019-09-12 15:58   ` Sagi Grimberg
  0 siblings, 1 reply; 3+ messages in thread
From: Keith Busch @ 2019-09-12  3:31 UTC (permalink / raw)
  To: Sagi Grimberg; +Cc: Keith Busch, Christoph Hellwig, linux-nvme

On Wed, Sep 11, 2019 at 11:46:19AM -0700, Sagi Grimberg wrote:
> Just hit the following bug on a simple test case with Qemu nvme emulation:
> 
> for i in `seq 100`; do echo 1 >
> /sys/devices/pci0000\:00/0000\:00\:0a.0/remove; echo 1 >
> /sys/bus/pci/rescan; done
> 
> Keith, is that addressed by your series with the reset_prepare stuff?

No, but this one fixes it, in rc5 (you're running rc3)

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=bd46a90634302bfe791e93ad5496f98f165f7ae0

> 5.3.0-rc3+ #325

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: panic in pci driver
  2019-09-12  3:31 ` Keith Busch
@ 2019-09-12 15:58   ` Sagi Grimberg
  0 siblings, 0 replies; 3+ messages in thread
From: Sagi Grimberg @ 2019-09-12 15:58 UTC (permalink / raw)
  To: Keith Busch; +Cc: Keith Busch, Christoph Hellwig, linux-nvme


>> Just hit the following bug on a simple test case with Qemu nvme emulation:
>>
>> for i in `seq 100`; do echo 1 >
>> /sys/devices/pci0000\:00/0000\:00\:0a.0/remove; echo 1 >
>> /sys/bus/pci/rescan; done
>>
>> Keith, is that addressed by your series with the reset_prepare stuff?
> 
> No, but this one fixes it, in rc5 (you're running rc3)
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=bd46a90634302bfe791e93ad5496f98f165f7ae0

Yes, thanks for that, caught me by surprise...

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-11 18:46 panic in pci driver Sagi Grimberg
2019-09-12  3:31 ` Keith Busch
2019-09-12 15:58   ` Sagi Grimberg

Linux-NVME Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-nvme/0 linux-nvme/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-nvme linux-nvme/ https://lore.kernel.org/linux-nvme \
		linux-nvme@lists.infradead.org linux-nvme@archiver.kernel.org
	public-inbox-index linux-nvme


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-nvme


AGPL code for this site: git clone https://public-inbox.org/ public-inbox