1. 24 Apr, 2019 16 commits
    • Chris Wilson's avatar
      drm/i915: Avoid use-after-free in reporting create.size · 929eec99
      Chris Wilson authored
      We have to avoid chasing after a userspace race!
      
      <3>[  473.114328] BUG: KASAN: use-after-free in i915_gem_create+0x1d2/0x1f0 [i915]
      <3>[  473.114389] Read of size 8 at addr ffff88815bf1d840 by task gem_flink_race/1541
      
      <4>[  473.114464] CPU: 1 PID: 1541 Comm: gem_flink_race Tainted: G     U            5.1.0-rc4-g7d07e025e786-kasan_88+ #1
      <4>[  473.114469] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016
      <4>[  473.114474] Call Trace:
      <4>[  473.114488]  dump_stack+0x7c/0xbb
      <4>[  473.114612]  ? i915_gem_create+0x1d2/0x1f0 [i915]
      <4>[  473.114621]  print_address_description+0x65/0x270
      <4>[  473.114728]  ? i915_gem_create+0x1d2/0x1f0 [i915]
      <4>[  473.114839]  ? i915_gem_create+0x1d2/0x1f0 [i915]
      <4>[  473.114848]  kasan_report+0x149/0x18d
      <4>[  473.114962]  ? i915_gem_create+0x1d2/0x1f0 [i915]
      <4>[  473.115069]  i915_gem_create+0x1d2/0x1f0 [i915]
      <4>[  473.115176]  ? i915_gem_object_create.part.28+0x4b0/0x4b0 [i915]
      <4>[  473.115289]  ? i915_gem_dumb_create+0x1a0/0x1a0 [i915]
      <4>[  473.115297]  drm_ioctl_kernel+0x192/0x260
      <4>[  473.115306]  ? drm_ioctl_permit+0x280/0x280
      <4>[  473.115326]  drm_ioctl+0x67c/0x960
      <4>[  473.115438]  ? i915_gem_dumb_create+0x1a0/0x1a0 [i915]
      <4>[  473.115448]  ? drm_getstats+0x20/0x20
      <4>[  473.115459]  ? __lock_acquire+0xa66/0x3fe0
      <4>[  473.115474]  ? _raw_spin_unlock_irqrestore+0x39/0x60
      <4>[  473.115485]  ? debug_object_active_state+0x2ea/0x4e0
      <4>[  473.115496]  ? debug_show_all_locks+0x2d0/0x2d0
      <4>[  473.115513]  do_vfs_ioctl+0x18d/0xfa0
      <4>[  473.115522]  ? check_flags.part.27+0x440/0x440
      <4>[  473.115532]  ? ioctl_preallocate+0x1a0/0x1a0
      <4>[  473.115547]  ? __fget+0x2ac/0x410
      <4>[  473.115561]  ? __ia32_sys_dup3+0xb0/0xb0
      <4>[  473.115569]  ? rwlock_bug.part.0+0x90/0x90
      <4>[  473.115590]  ksys_ioctl+0x35/0x70
      <4>[  473.115597]  ? lockdep_hardirqs_off+0x1cb/0x2b0
      <4>[  473.115608]  __x64_sys_ioctl+0x6a/0xb0
      <4>[  473.115614]  ? lockdep_hardirqs_on+0x342/0x590
      <4>[  473.115623]  do_syscall_64+0x97/0x400
      <4>[  473.115633]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      <4>[  473.115641] RIP: 0033:0x7fce590d55d7
      <4>[  473.115649] Code: b3 66 90 48 8b 05 b1 48 2d 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 81 48 2d 00 f7 d8 64 89 01 48
      <4>[  473.115655] RSP: 002b:00007fce4d525ba8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
      <4>[  473.115662] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fce590d55d7
      <4>[  473.115667] RDX: 00007fce4d525c10 RSI: 00000000c010645b RDI: 0000000000000007
      <4>[  473.115672] RBP: 00007fce4d525c10 R08: 00007fce4d526700 R09: 00007fce4d526700
      <4>[  473.115677] R10: 0000000000000054 R11: 0000000000000246 R12: 00000000c010645b
      <4>[  473.115682] R13: 0000000000000007 R14: 0000000000000000 R15: 00007ffe0e4a7450
      
      <3>[  473.115731] Allocated by task 1541:
      <4>[  473.115766]  kmem_cache_alloc+0xce/0x290
      <4>[  473.115895]  i915_gem_object_create.part.28+0x1c/0x4b0 [i915]
      <4>[  473.116000]  i915_gem_create+0xe3/0x1f0 [i915]
      <4>[  473.116008]  drm_ioctl_kernel+0x192/0x260
      <4>[  473.116013]  drm_ioctl+0x67c/0x960
      <4>[  473.116020]  do_vfs_ioctl+0x18d/0xfa0
      <4>[  473.116026]  ksys_ioctl+0x35/0x70
      <4>[  473.116032]  __x64_sys_ioctl+0x6a/0xb0
      <4>[  473.116038]  do_syscall_64+0x97/0x400
      <4>[  473.116044]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
      <3>[  473.116071] Freed by task 1542:
      <4>[  473.116101]  kmem_cache_free+0xb7/0x2f0
      <4>[  473.116205]  __i915_gem_free_objects+0x7d4/0xe10 [i915]
      <4>[  473.116311]  i915_gem_create_ioctl+0xaa/0xd0 [i915]
      <4>[  473.116318]  drm_ioctl_kernel+0x192/0x260
      <4>[  473.116323]  drm_ioctl+0x67c/0x960
      <4>[  473.116330]  do_vfs_ioctl+0x18d/0xfa0
      <4>[  473.116335]  ksys_ioctl+0x35/0x70
      <4>[  473.116341]  __x64_sys_ioctl+0x6a/0xb0
      <4>[  473.116347]  do_syscall_64+0x97/0x400
      <4>[  473.116354]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
      Testcase: igt/gem_flink_race/flink_close
      Fixes: e163484a ("drm/i915: Update size upon return from GEM_CREATE")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190417132507.27133-1-chris@chris-wilson.co.uk
      (cherry picked from commit 99534023)
      Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      929eec99
    • Dave Airlie's avatar
      drm/udl: move to embedding drm device inside udl device. · 6ecac85e
      Dave Airlie authored
      This should help with some of the lifetime issues, and move us away
      from load/unload.
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190405031715.5959-4-airlied@gmail.com
      6ecac85e
    • Dave Airlie's avatar
      fd96e0db
    • Dave Airlie's avatar
      Merge tag 'exynos-drm-next-for-v5.2' of... · 331ca3a3
      Dave Airlie authored
      Merge tag 'exynos-drm-next-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
      
      Log cleanups
      - Correct the use of log macro in error case.
      - Drop unnecessary messages.
      - Replace DRM_ERROR/DEBUG with DRM_DEV_ERROR/DEBUG.
      - Print out debug messages with correct device name in vidi and ipp drivers.
      
      One trivial cleanup
      - Just fix checkpatch error, "foo* bar" to "foo *bar" in g2d driver.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Inki Dae <inki.dae@samsung.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1556073313-9923-1-git-send-email-inki.dae@samsung.com
      331ca3a3
    • Inki Dae's avatar
      drm/ipp: clean up debug messages · 8b955034
      Inki Dae authored
      Print out debug messages with correct device name.
      
      As for this, this patch adds device pointer to exynos_drm_ipp structure,
      and in case of exynos_drm_ipp_task structure, replace drm_device pointer
      with device one. This will make each ipp driver to print out debug
      messages with correct device name.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      8b955034
    • Inki Dae's avatar
      drm/vidi: replace platform_device pointer with device one · df90a64e
      Inki Dae authored
      Add device pointer to vidi_context and remove platform_device pointer.
      
      It doesn't need for vidi_context to contain platform_device object.
      Instead, this patch makes this driver more simply by replacing platform_device
      pointer with device one.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      df90a64e
    • Inki Dae's avatar
      drm/exynos: use DRM_DEV_DEBUG* instead of DRM_DEBUG macro · 6be90056
      Inki Dae authored
      Use DRM_DEV_DEBUG* instead of DRM_DEBUG macro to print out
      debug messages.
      
      This patch just cleans up the use of debug log macro, which changes
      the log macro to DRM_DEV_DEBUG*.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      6be90056
    • Inki Dae's avatar
      drm/exynos: use DRM_DEV_ERROR to print out error message · 6f83d208
      Inki Dae authored
      This patch just cleans up the use of error log macro, which changes
      the log macro to DRM_DEV_ERROR.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      6f83d208
    • Inki Dae's avatar
      drm/exynos: remove unnecessary messages · 62f28738
      Inki Dae authored
      This patch removes unnecessary messages from fimd_clear_channels
      and decon_clear_channels functions which print out just function
      name.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      62f28738
    • Inki Dae's avatar
      drm/fimd: use DRM_ERROR instead of DRM_INFO in error case · e5930530
      Inki Dae authored
      This patch makes error messages to be printed out using DRM_ERROR
      instead of DRM_INFO.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      e5930530
    • Seung-Woo Kim's avatar
      drm/exynos: g2d: remove style error · f9af3f84
      Seung-Woo Kim authored
      Remove checkpatch error, "foo* bar" should be "foo *bar".
      Signed-off-by: default avatarSeung-Woo Kim <sw0312.kim@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      f9af3f84
    • Dave Airlie's avatar
      Merge tag 'drm-msm-next-2019-04-21' of https://gitlab.freedesktop.org/drm/msm into drm-next · 70b5f09e
      Dave Airlie authored
      This time around it is a bunch of cleanup and fixes, expanding gpu
      "zap" shader support (so we can take the GPU out of secure mode on
      boot) to a6xx, and small UABI extension to support robustness (see
      mesa MR 673).
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Rob Clark <robdclark@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGsHwsEfi4y2LYKSqeqDEYvffwVgKhiP8jHcHpxp13J5LQ@mail.gmail.com
      70b5f09e
    • Dave Airlie's avatar
      Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next · 42f1a013
      Dave Airlie authored
      - Add the amdgpu specific bits for timeline support
      - Add internal interfaces for xgmi pstate support
      - DC Z ordering fixes for planes
      - Add support for NV12 planes in DC
      - Add colorspace properties for planes in DC
      - eDP optimizations if the GOP driver already initialized eDP
      - DC bandwidth validation tracing support
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexdeucher@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190419150034.3473-1-alexander.deucher@amd.com
      42f1a013
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-5.2-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next · 6e865c72
      Dave Airlie authored
      drm/tegra: Changes for v5.2-rc1
      
      This contains a fix for the usage of shared resets that previously
      generated a WARN on boot. In addition, there's a fix for CPU cache
      maintenance of GEM buffers allocated using get_pages().
      
      (airlied: contains a merge from a shared tegra tree)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thierry Reding <thierry.reding@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190418151447.9430-1-thierry.reding@gmail.com
      6e865c72
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2019-04-18' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 8d8f6f70
      Dave Airlie authored
      drm-misc-next for v5.2:
      
      UAPI Changes:
      - Document which feature flags belong to which command in virtio_gpu.h
      - Make the FB_DAMAGE_CLIPS available for atomic userspace only, it's useless for legacy.
      
      Cross-subsystem Changes:
      - Add device tree bindings for lg,acx467akm-7 panel and ST-Ericsson Multi Channel Display Engine MCDE
      - Add parameters to the device tree bindings for tfp410
      - iommu/io-pgtable: Add ARM Mali midgard MMU page table format
      - dma-buf: Only do a 64-bits seqno compare when driver explicitly asks for it, else wraparound.
      - Use the 64-bits compare for dma-fence-chains
      
      Core Changes:
      - Make the fb conversion functions use __iomem dst.
      - Rename drm_client_add to drm_client_register
      - Move intel_fb_initial_config to core.
      - Add a drm_gem_objects_lookup helper
      - Add drm_gem_fence_array helpers, and use it in lima.
      - Add drm_format_helper.c to kerneldoc.
      
      Driver Changes:
      - Add panfrost driver for mali midgard/bitfrost.
      - Converts bochs to use the simple display type.
      - Small fixes to sun4i, tinydrm, ti-fp410.
      - Fid aspeed's Kconfig options.
      - Make some symbols/functions static in lima, sun4i and meson.
      - Add a driver for the lg,acx467akm-7 panel.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/737ad994-213d-45b5-207a-b99d795acd21@linux.intel.com
      8d8f6f70
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2019-04-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · b1c4f7fe
      Dave Airlie authored
      UAPI Changes:
      
      - uAPI "Fixes:" patch for the upcoming kernel 5.1, included here too
      
        We have an Ack from the media folks (only current user) for this
        late tweak
      
      Cross-subsystem Changes:
      
      - ALSA: hda: Fix racy display power access (Takashi, Chris)
      
      Driver Changes:
      
      - DDI and MIPI-DSI clocks fixes for Icelake (Vandita)
      - Fix Icelake frequency change/locking (RPS) (Mika)
      - Temporarily disable ppGTT read-only bit on Icelake (Mika)
      - Add missing Icelake W/As (Mika)
      - Enable 12 deep CSB status FIFO on Icelake (Mika)
      - Inherit more Icelake code for Elkhartlake (Bob, Jani)
      
      - Handle catastrophic error on engine reset (Mika)
      - Shortcut readiness to reset check (Mika)
      - Regression fix for GEM_BUSY causing us to report a mixed uabi-class request as not busy (Chris)
      - Revert back to max link rate and lane count on eDP (Jani)
      - Fix pipe BPP readout for BXT/GLK DSI (Ville)
      - Set DP min_bpp to 8*3 for non-RGB output formats (Ville)
      - Enable coarse preemption boundaries for Gen8 (Chris)
      - Do not enable FEC without DSC (Ville)
      - Restore correct BXT DDI latency optim setting calculation (Ville)
      - Always reset context's RING registers to avoid running workload twice during reset (Chris)
      - Set GPU wedged on driver unload (Janusz)
      - Consolidate two similar barries from timeline into one (Chris)
      - Only reset the pinned kernel contexts on resume (Chris)
      - Wakeref tracking improvements (Chris, Imre)
      - Lockdep fixes for shrinker interactions (Chris)
      - Bump ready tasks ahead of busywaits in prep of semaphore use (Chris)
      
      - Huge step in splitting display code into fine grained files (Jani)
      - Refactor the IRQ init/reset macros for code saving (Paulo)
      - Convert IRQ initialization code to uncore MMIO access (Paulo)
      - Convert workarounds code to use uncore MMIO access (Chris)
      - Nuke drm_crtc_state and use intel_atomic_state instead (Manasi)
      - Update SKL clock-gating WA (Radhakrishna, Ville)
      - Isolate GuC reset code flow (Chris)
      - Expose force_dsc_enable through debugfs (Manasi)
      - Header standalone compile testing framework (Jani)
      - Code cleanups to reduce driver footprint (Chris)
      - PSR code fixes and cleanups (Jose)
      - Sparse and kerneldoc updates (Chris)
      - Suppress spurious combo PHY B warning (Vile)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190418080426.GA6409@jlahtine-desk.ger.corp.intel.com
      b1c4f7fe
  2. 23 Apr, 2019 1 commit
  3. 21 Apr, 2019 5 commits
  4. 19 Apr, 2019 12 commits
  5. 18 Apr, 2019 6 commits