1. 11 Mar, 2021 1 commit
    • Tong Zhang's avatar
      drm/fb-helper: only unmap if buffer not null · 874a52f9
      Tong Zhang authored
      drm_fbdev_cleanup() can be called when fb_helper->buffer is null, hence
      fb_helper->buffer should be checked before calling
      drm_client_buffer_vunmap(). This buffer is also checked in
      drm_client_framebuffer_delete(), so we should also do the same thing for
      drm_client_buffer_vunmap().
      
      [  199.128742] RIP: 0010:drm_client_buffer_vunmap+0xd/0x20
      [  199.129031] Code: 43 18 48 8b 53 20 49 89 45 00 49 89 55 08 5b 44 89 e0 41 5c 41 5d 41 5e 5d
      c3 0f 1f 00 53 48 89 fb 48 8d 7f 10 e8 73 7d a1 ff <48> 8b 7b 10 48 8d 73 18 5b e9 75 53 fc ff 0
      f 1f 44 00 00 48 b8 00
      [  199.130041] RSP: 0018:ffff888103f3fc88 EFLAGS: 00010282
      [  199.130329] RAX: 0000000000000001 RBX: 0000000000000000 RCX: ffffffff8214d46d
      [  199.130733] RDX: 1ffffffff079c6b9 RSI: 0000000000000246 RDI: ffffffff83ce35c8
      [  199.131119] RBP: ffff888103d25458 R08: 0000000000000001 R09: fffffbfff0791761
      [  199.131505] R10: ffffffff83c8bb07 R11: fffffbfff0791760 R12: 0000000000000000
      [  199.131891] R13: ffff888103d25468 R14: ffff888103d25418 R15: ffff888103f18120
      [  199.132277] FS:  00007f36fdcbb6a0(0000) GS:ffff88815b400000(0000) knlGS:0000000000000000
      [  199.132721] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  199.133033] CR2: 0000000000000010 CR3: 0000000103d26000 CR4: 00000000000006f0
      [  199.133420] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  199.133807] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  199.134195] Call Trace:
      [  199.134333]  drm_fbdev_cleanup+0x179/0x1a0
      [  199.134562]  drm_fbdev_client_unregister+0x2b/0x40
      [  199.134828]  drm_client_dev_unregister+0xa8/0x180
      [  199.135088]  drm_dev_unregister+0x61/0x110
      [  199.135315]  mgag200_pci_remove+0x38/0x52 [mgag200]
      [  199.135586]  pci_device_remove+0x62/0xe0
      [  199.135806]  device_release_driver_internal+0x148/0x270
      [  199.136094]  driver_detach+0x76/0xe0
      [  199.136294]  bus_remove_driver+0x7e/0x100
      [  199.136521]  pci_unregister_driver+0x28/0xf0
      [  199.136759]  __x64_sys_delete_module+0x268/0x300
      [  199.137016]  ? __ia32_sys_delete_module+0x300/0x300
      [  199.137285]  ? call_rcu+0x3e4/0x580
      [  199.137481]  ? fpregs_assert_state_consistent+0x4d/0x60
      [  199.137767]  ? exit_to_user_mode_prepare+0x2f/0x130
      [  199.138037]  do_syscall_64+0x33/0x40
      [  199.138237]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [  199.138517] RIP: 0033:0x7f36fdc3dcf7
      Signed-off-by: default avatarTong Zhang <ztong0001@gmail.com>
      Fixes: 763aea17 ("drm/fb-helper: Unmap client buffer during shutdown")
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Maxime Ripard <mripard@kernel.org>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: dri-devel@lists.freedesktop.org
      Cc: <stable@vger.kernel.org> # v5.11+
      Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210228044625.171151-1-ztong0001@gmail.comSigned-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      874a52f9
  2. 06 Mar, 2021 4 commits
  3. 05 Mar, 2021 33 commits
  4. 04 Mar, 2021 2 commits
    • Jens Axboe's avatar
      kernel: provide create_io_thread() helper · cc440e87
      Jens Axboe authored
      Provide a generic helper for setting up an io_uring worker. Returns a
      task_struct so that the caller can do whatever setup is needed, then call
      wake_up_new_task() to kick it into gear.
      
      Add a kernel_clone_args member, io_thread, which tells copy_process() to
      mark the task with PF_IO_WORKER.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      cc440e87
    • Pavel Begunkov's avatar
      io_uring: reliably cancel linked timeouts · dd59a3d5
      Pavel Begunkov authored
      Linked timeouts are fired asynchronously (i.e. soft-irq), and use
      generic cancellation paths to do its stuff, including poking into io-wq.
      The problem is that it's racy to access tctx->io_wq, as
      io_uring_task_cancel() and others may be happening at this exact moment.
      Mark linked timeouts with REQ_F_INLIFGHT for now, making sure there are
      no timeouts before io-wq destraction.
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      dd59a3d5