Re: Is: virtio_gpu_object_shmem_init issues? Was:Re: upstream boot error: general protection fault in swiotlb_map
On Mon, Aug 24, 2020 at 5:07 PM Konrad Rzeszutek Wilk wrote: > > On Thu, Aug 06, 2020 at 03:46:23AM -0700, syzbot wrote: > > Hello, > > > > syzbot found the following issue on: > > > > HEAD commit:47ec5303 Merge git://git.kernel.org/pub/scm/linux/kernel/g.. > > git tree: upstream > > console output: https://syzkaller.appspot.com/x/log.txt?x=16fe1dea90 > > kernel config: https://syzkaller.appspot.com/x/.config?x=7c06047f622c5724 > > dashboard link: https://syzkaller.appspot.com/bug?extid=3f86afd0b1e4bf1cb64c > > compiler: gcc (GCC) 10.1.0-syz 20200507 > > > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > > Reported-by: syzbot+3f86afd0b1e4bf1cb...@syzkaller.appspotmail.com > > > > ceph: loaded (mds proto 32) > > NET: Registered protocol family 38 > > async_tx: api initialized (async) > > Key type asymmetric registered > > Asymmetric key parser 'x509' registered > > Asymmetric key parser 'pkcs8' registered > > Key type pkcs7_test registered > > Asymmetric key parser 'tpm_parser' registered > > Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243) > > io scheduler mq-deadline registered > > io scheduler kyber registered > > io scheduler bfq registered > > hgafb: HGA card not detected. > > hgafb: probe of hgafb.0 failed with error -22 > > usbcore: registered new interface driver udlfb > > uvesafb: failed to execute /sbin/v86d > > uvesafb: make sure that the v86d helper is installed and executable > > uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2) > > uvesafb: vbe_init() failed with -22 > > uvesafb: probe of uvesafb.0 failed with error -22 > > vga16fb: mapped to 0x8aac772d > > Console: switching to colour frame buffer device 80x30 > > fb0: VGA16 VGA frame buffer device > > input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 > > ACPI: Power Button [PWRF] > > ioatdma: Intel(R) QuickData Technology Driver 5.00 > > PCI Interrupt Link [GSIF] enabled at IRQ 21 > > PCI Interrupt Link [GSIG] enabled at IRQ 22 > > PCI Interrupt Link [GSIH] enabled at IRQ 23 > > N_HDLC line discipline registered with maxframe=4096 > > Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled > > 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A > > Cyclades driver 2.6 > > Initializing Nozomi driver 2.1d > > RocketPort device driver module, version 2.09, 12-June-2003 > > No rocketport ports found; unloading driver > > Non-volatile memory driver v1.3 > > Linux agpgart interface v0.103 > > [drm] Initialized vgem 1.0.0 20120112 for vgem on minor 0 > > [drm] Initialized vkms 1.0.0 20180514 for vkms on minor 1 > > usbcore: registered new interface driver udl > > [drm] pci: virtio-vga detected at :00:01.0 > > fb0: switching to virtiodrmfb from VGA16 VGA > > Console: switching to colour VGA+ 80x25 > > virtio-pci :00:01.0: vgaarb: deactivate vga console > > Console: switching to colour dummy device 80x25 > > [drm] features: -virgl +edid > > [drm] number of scanouts: 1 > > [drm] number of cap sets: 0 > > [drm] Initialized virtio_gpu 0.1.0 0 for virtio0 on minor 2 > > general protection fault, probably for non-canonical address > > 0xdc00: [#1] PREEMPT SMP KASAN > > KASAN: null-ptr-deref in range [0x-0x0007] > > CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.8.0-syzkaller #0 > > Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS > > rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 > > RIP: 0010:swiotlb_map+0x5ac/0x700 kernel/dma/swiotlb.c:683 > > Code: 28 04 00 00 48 c1 ea 03 80 3c 02 00 0f 85 4d 01 00 00 4c 8b a5 18 04 > > 00 00 48 b8 00 00 00 00 00 fc ff df 4c 89 e2 48 c1 ea 03 <80> 3c 02 00 0f > > 85 1e 01 00 00 48 8d 7d 50 4d 8b 24 24 48 b8 00 00 > > RSP: :c934f3e0 EFLAGS: 00010246 > > RAX: dc00 RBX: RCX: 8162cc1d > > RDX: RSI: 8162cc98 RDI: 88802971a470 > > RBP: 88802971a048 R08: 0001 R09: 8c5dba77 > > R10: R11: R12: > > R13: 7ac0 R14: dc00 R15: 1000 > > FS: () GS:88802ce0() knlGS: > > CS: 0010 DS: ES: CR0: 80050033 > > CR2: CR3: 09a8d000 CR4: 00350ef0 > > DR0: DR1: DR2: > > DR3: DR6: fffe0ff0 DR7: 0400 > > Call Trace: > > dma_direct_map_page include/linux/dma-direct.h:170 [inline] > > dma_direct_map_sg+0x3bb/0x670 kernel/dma/direct.c:368 > > dma_map_sg_attrs+0xd0/0x160 kernel/dma/mapping.c:183 > > drm_gem_shmem_get_pages_sgt drivers/gpu/drm/drm_gem_shmem_helper.c:700 > > [inline] > > drm_gem_shmem_get_pages_sgt+0x1fc/0x310 > > drivers/gpu/drm/drm_gem_shmem_helper.c:679 > > virtio_gpu_object_shmem_init drivers/gpu/drm/virtio/virtgpu_object.c:153 > > [inline] > >
Re: Is: virtio_gpu_object_shmem_init issues? Was:Re: upstream boot error: general protection fault in swiotlb_map
On Mon, Aug 24, 2020 at 11:06:51AM -0400, Konrad Rzeszutek Wilk wrote: > So it fails at > > 683 dev_WARN_ONCE(dev, 1, > > 684 "swiotlb addr %pad+%zu overflow (mask %llx, bus > limit %llx).\n", > 685 _addr, size, *dev->dma_mask, > dev->bus_dma_limit); > > > which makes no sense to me as `dev` surely exists. I can see in the console > log: > > virtio-pci :00:01.0: vgaarb: deactivate vga console > > So what gives? Well, look at the if around the WARN_ON - dma_capable failed on the swiotlb buffer. This means the virtio drm thingy has a dma mask (either the actual one set by the driver, or bus_dma_mask), which isn't enough to address the swiotlb buffer. ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Is: virtio_gpu_object_shmem_init issues? Was:Re: upstream boot error: general protection fault in swiotlb_map
On Thu, Aug 06, 2020 at 03:46:23AM -0700, syzbot wrote: > Hello, > > syzbot found the following issue on: > > HEAD commit:47ec5303 Merge git://git.kernel.org/pub/scm/linux/kernel/g.. > git tree: upstream > console output: https://syzkaller.appspot.com/x/log.txt?x=16fe1dea90 > kernel config: https://syzkaller.appspot.com/x/.config?x=7c06047f622c5724 > dashboard link: https://syzkaller.appspot.com/bug?extid=3f86afd0b1e4bf1cb64c > compiler: gcc (GCC) 10.1.0-syz 20200507 > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+3f86afd0b1e4bf1cb...@syzkaller.appspotmail.com > > ceph: loaded (mds proto 32) > NET: Registered protocol family 38 > async_tx: api initialized (async) > Key type asymmetric registered > Asymmetric key parser 'x509' registered > Asymmetric key parser 'pkcs8' registered > Key type pkcs7_test registered > Asymmetric key parser 'tpm_parser' registered > Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243) > io scheduler mq-deadline registered > io scheduler kyber registered > io scheduler bfq registered > hgafb: HGA card not detected. > hgafb: probe of hgafb.0 failed with error -22 > usbcore: registered new interface driver udlfb > uvesafb: failed to execute /sbin/v86d > uvesafb: make sure that the v86d helper is installed and executable > uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2) > uvesafb: vbe_init() failed with -22 > uvesafb: probe of uvesafb.0 failed with error -22 > vga16fb: mapped to 0x8aac772d > Console: switching to colour frame buffer device 80x30 > fb0: VGA16 VGA frame buffer device > input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 > ACPI: Power Button [PWRF] > ioatdma: Intel(R) QuickData Technology Driver 5.00 > PCI Interrupt Link [GSIF] enabled at IRQ 21 > PCI Interrupt Link [GSIG] enabled at IRQ 22 > PCI Interrupt Link [GSIH] enabled at IRQ 23 > N_HDLC line discipline registered with maxframe=4096 > Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled > 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A > Cyclades driver 2.6 > Initializing Nozomi driver 2.1d > RocketPort device driver module, version 2.09, 12-June-2003 > No rocketport ports found; unloading driver > Non-volatile memory driver v1.3 > Linux agpgart interface v0.103 > [drm] Initialized vgem 1.0.0 20120112 for vgem on minor 0 > [drm] Initialized vkms 1.0.0 20180514 for vkms on minor 1 > usbcore: registered new interface driver udl > [drm] pci: virtio-vga detected at :00:01.0 > fb0: switching to virtiodrmfb from VGA16 VGA > Console: switching to colour VGA+ 80x25 > virtio-pci :00:01.0: vgaarb: deactivate vga console > Console: switching to colour dummy device 80x25 > [drm] features: -virgl +edid > [drm] number of scanouts: 1 > [drm] number of cap sets: 0 > [drm] Initialized virtio_gpu 0.1.0 0 for virtio0 on minor 2 > general protection fault, probably for non-canonical address > 0xdc00: [#1] PREEMPT SMP KASAN > KASAN: null-ptr-deref in range [0x-0x0007] > CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.8.0-syzkaller #0 > Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS > rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 > RIP: 0010:swiotlb_map+0x5ac/0x700 kernel/dma/swiotlb.c:683 > Code: 28 04 00 00 48 c1 ea 03 80 3c 02 00 0f 85 4d 01 00 00 4c 8b a5 18 04 00 > 00 48 b8 00 00 00 00 00 fc ff df 4c 89 e2 48 c1 ea 03 <80> 3c 02 00 0f 85 1e > 01 00 00 48 8d 7d 50 4d 8b 24 24 48 b8 00 00 > RSP: :c934f3e0 EFLAGS: 00010246 > RAX: dc00 RBX: RCX: 8162cc1d > RDX: RSI: 8162cc98 RDI: 88802971a470 > RBP: 88802971a048 R08: 0001 R09: 8c5dba77 > R10: R11: R12: > R13: 7ac0 R14: dc00 R15: 1000 > FS: () GS:88802ce0() knlGS: > CS: 0010 DS: ES: CR0: 80050033 > CR2: CR3: 09a8d000 CR4: 00350ef0 > DR0: DR1: DR2: > DR3: DR6: fffe0ff0 DR7: 0400 > Call Trace: > dma_direct_map_page include/linux/dma-direct.h:170 [inline] > dma_direct_map_sg+0x3bb/0x670 kernel/dma/direct.c:368 > dma_map_sg_attrs+0xd0/0x160 kernel/dma/mapping.c:183 > drm_gem_shmem_get_pages_sgt drivers/gpu/drm/drm_gem_shmem_helper.c:700 > [inline] > drm_gem_shmem_get_pages_sgt+0x1fc/0x310 > drivers/gpu/drm/drm_gem_shmem_helper.c:679 > virtio_gpu_object_shmem_init drivers/gpu/drm/virtio/virtgpu_object.c:153 > [inline] > virtio_gpu_object_create+0x2fd/0xa70 > drivers/gpu/drm/virtio/virtgpu_object.c:232 > virtio_gpu_gem_create drivers/gpu/drm/virtio/virtgpu_gem.c:45 [inline] > virtio_gpu_mode_dumb_create+0x298/0x530 > drivers/gpu/drm/virtio/virtgpu_gem.c:85 >