Am 28.10.2015 um 14:30 schrieb Andy Lutomirski:

> +static void vring_unmap_one(const struct vring_virtqueue *vq,
> +                         struct vring_desc *desc)
> +{
> +     u16 flags = virtio16_to_cpu(vq->vq.vdev, desc->flags);
> +
> +     if (flags & VRING_DESC_F_INDIRECT) {
> +             dma_unmap_single(vring_dma_dev(vq),
> +                              virtio64_to_cpu(vq->vq.vdev, desc->addr),
> +                              virtio32_to_cpu(vq->vq.vdev, desc->len),
> +                              (flags & VRING_DESC_F_WRITE) ?
> +                              DMA_FROM_DEVICE : DMA_TO_DEVICE);
> +     } else {
> +             dma_unmap_page(vring_dma_dev(vq),
> +                            virtio64_to_cpu(vq->vq.vdev, desc->addr),
> +                            virtio32_to_cpu(vq->vq.vdev, desc->len),
> +                            (flags & VRING_DESC_F_WRITE) ?
> +                            DMA_FROM_DEVICE : DMA_TO_DEVICE);
> +     }
> +}
> +



I still have a failure in this:

[    1.913040] Unable to handle kernel pointer dereference in virtual kernel 
address space
[    1.913044] failing address: 000000000c800000 TEID: 000000000c800803
[    1.913045] Fault in home space mode while using kernel ASCE.
[    1.913048] AS:0000000000d56007 R3:000000000c7f0007 S:0000000000000020 
[    1.913099] Oops: 0010 ilc:2 [#1] SMP 
[    1.913142] Modules linked in:
[    1.913144] CPU: 4 PID: 50 Comm: kworker/u18:1 Not tainted 4.3.0-rc3+ #252
[    1.913150] Workqueue: events_unbound call_usermodehelper_exec_work
[    1.913152] task: 000000000bb8b310 ti: 000000000bba8000 task.ti: 
000000000bba8000
[    1.913154] Krnl PSW : 0404e00180000000 000000000059b266 
(vring_unmap_one+0x46/0x8d0)
[    1.913158]            R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 
EA:3
Krnl GPRS: 0000000000000000 000000000c800000 000000000c036800 000000000c800000
[    1.913161]            00000000005a21a8 0000000000000000 0000000000000000 
0000000000000000
[    1.913162]            0704c00180000000 040000000bdbfce8 000000000c082000 
000000000bdbf6e8
[    1.913164]            0000000000000400 0000000000000000 000000000bdbf988 
000000000bdbf6e8
[    1.913170] Krnl Code: 000000000059b254: e310b0a80004        lg      
%r1,168(%r11)
           000000000059b25a: e32010200004       lg      %r2,32(%r1)
          #000000000059b260: e310b0a00004       lg      %r1,160(%r11)
          >000000000059b266: 4810100c           lh      %r1,12(%r1)
           000000000059b26a: e320b2a80024       stg     %r2,680(%r11)
           000000000059b270: 4010b2a6           sth     %r1,678(%r11)
           000000000059b274: e310b2a80004       lg      %r1,680(%r11)
           000000000059b27a: e310b2980024       stg     %r1,664(%r11)
[    1.913183] Call Trace:
[    1.913185] ([<000000000059b74c>] vring_unmap_one+0x52c/0x8d0)
[    1.913187]  [<00000000005a21a8>] detach_buf+0x720/0x788
[    1.913188]  [<00000000005a2830>] virtqueue_get_buf+0x620/0x908
[    1.913191]  [<00000000005e5336>] virtblk_done+0xa6/0x120
[    1.913192]  [<00000000005a3e46>] vring_interrupt+0x2a6/0x2c0
[    1.913224]  [<00000000006c9bdc>] virtio_airq_handler+0x7c/0x120
[    1.913226]  [<000000000065f88c>] do_airq_interrupt+0xa4/0xc8
[    1.913229]  [<00000000001b79a0>] handle_irq_event_percpu+0x60/0x1f0
[    1.913230]  [<00000000001bbbea>] handle_percpu_irq+0x72/0xa0
[    1.913232]  [<00000000001b6fa4>] generic_handle_irq+0x4c/0x78
[    1.913234]  [<000000000010cc7c>] do_IRQ+0x64/0x88
[    1.913236]  [<0000000000815d42>] io_int_handler+0x10a/0x218
[    1.913238]  [<0000000000104268>] copy_thread+0x78/0x1a0
[    1.913240] ([<00000000001548f8>] copy_process.isra.11+0x750/0x1a80)
[    1.913242]  [<0000000000156122>] _do_fork+0x9a/0x338
[    1.913243]  [<000000000015644e>] kernel_thread+0x4e/0x60
[    1.913245]  [<000000000016da7a>] call_usermodehelper_exec_work+0x7a/0xf0
[    1.913247]  [<0000000000171c06>] process_one_work+0x1b6/0x490
[    1.913248]  [<0000000000171f38>] worker_thread+0x58/0x588
[    1.913250]  [<00000000001788fa>] kthread+0x10a/0x110
[    1.913252]  [<0000000000815a8e>] kernel_thread_starter+0x6/0xc
[    1.913254]  [<0000000000815a88>] kernel_thread_starter+0x0/0xc
[    1.913255] Last Breaking-Event-Address:
[    1.913256]  [<00000000005a21a2>] detach_buf+0x71a/0x788
[    1.913258]  
[    1.913263] Kernel panic - not syncing: Fatal exception in interrupt

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to