1. 03 Dec, 2023 31 commits
  2. 01 Dec, 2023 4 commits
  3. 25 Nov, 2023 2 commits
  4. 21 Nov, 2023 3 commits
    • Rob Clark's avatar
      drm/msm/gem: Demote allocations to __GFP_NOWARN · 6c15808d
      Rob Clark authored
      For allocations with userspace controlled size, we should not warn on
      allocation failure.  Fixes KASAN splat:
      
         WARNING: CPU: 6 PID: 29557 at mm/page_alloc.c:5398 __alloc_pages+0x160c/0x2204
         Modules linked in: bridge stp llc hci_vhci tun veth xt_cgroup uinput xt_MASQUERADE rfcomm ip6table_nat fuse 8021q r8153_ecm cdc_ether usbnet r8152 mii venus_enc venus_dec uvcvideo algif_hash algif_skcipher af_alg qcom_spmi_adc_tm5 qcom_spmi_adc5 qcom_vadc_common qcom_spmi_temp_alarm cros_ec_typec typec hci_uart btqca qcom_stats snd_soc_sc7180 venus_core ath10k_snoc ath10k_core ath coresight_tmc coresight_replicator coresight_etm4x coresight_funnel snd_soc_lpass_sc7180 mac80211 coresight bluetooth ecdh_generic ecc cfg80211 cros_ec_sensorhub lzo_rle lzo_compress zram joydev
         CPU: 6 PID: 29557 Comm: syz-executor Not tainted 5.15.110-lockdep-19320-g89d010b0a9df #1 45bdd400697a78353f2927c116615abba810e5dd
         Hardware name: Google Kingoftown (DT)
         pstate: 20400009 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
         pc : __alloc_pages+0x160c/0x2204
         lr : __alloc_pages+0x58/0x2204
         sp : ffffffc0214176c0
         x29: ffffffc0214178a0 x28: ffffff801f7b4000 x27: 0000000000000000
         x26: ffffff808a4fa000 x25: 1ffffff011290781 x24: ffffff808a59c000
         x23: 0000000000000010 x22: ffffffc0080e6980 x21: 0000000000000010
         x20: 0000000000000000 x19: 00000000080001f8 x18: 0000000000000000
         x17: 0000000000000000 x16: 0000000000000000 x15: 0000000020000500
         x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000001
         x11: 0000000000000000 x10: 1ffffff804282f06 x9 : 0000000000000000
         x8 : ffffffc021417848 x7 : 0000000000000000 x6 : ffffffc0082ac788
         x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000010
         x2 : 0000000000000008 x1 : 0000000000000000 x0 : ffffffc021417830
         Call trace:
         __alloc_pages+0x160c/0x2204
         kmalloc_order+0x50/0xf4
         kmalloc_order_trace+0x38/0x18c
         __kmalloc+0x300/0x45c
         msm_ioctl_gem_submit+0x284/0x5988
         drm_ioctl_kernel+0x270/0x418
         drm_ioctl+0x5e0/0xbf8
         __arm64_sys_ioctl+0x154/0x1d0
         invoke_syscall+0x98/0x278
         el0_svc_common+0x214/0x274
         do_el0_svc+0x9c/0x19c
         el0_svc+0x5c/0xc0
         el0t_64_sync_handler+0x78/0x108
         el0t_64_sync+0x1a4/0x1a8
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      Patchwork: https://patchwork.freedesktop.org/patch/564191/
      6c15808d
    • Rob Clark's avatar
      drm/msm/gem: Demote userspace errors to DRM_UT_DRIVER · b2acb89a
      Rob Clark authored
      Error messages resulting from incorrect usage of the kernel uabi should
      not spam dmesg by default.  But it is useful to enable them to debug
      userspace.  So demote to DRM_UT_DRIVER.
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      Patchwork: https://patchwork.freedesktop.org/patch/564189/
      b2acb89a
    • Rob Clark's avatar
      drm/msm/gem: Add metadata · 9902cb99
      Rob Clark authored
      The EXT_external_objects extension is a bit awkward as it doesn't pass
      explicit modifiers, leaving the importer to guess with incomplete
      information.  In the case of vk (turnip) exporting and gl (freedreno)
      importing, the "OPTIMAL_TILING_EXT" layout depends on VkImageCreateInfo
      flags (among other things), which the importer does not know.  Which
      unfortunately leaves us with the need for a metadata back-channel.
      
      The contents of the metadata are defined by userspace.  The
      EXT_external_objects extension is only required to work between
      compatible versions of gl and vk drivers, as defined by device and
      driver UUIDs.
      
      v2: add missing metadata kfree
      v3: Rework to move copy_from/to_user out from under gem obj lock
          to avoid angering lockdep about deadlocks against fs-reclaim
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      Patchwork: https://patchwork.freedesktop.org/patch/566157/
      9902cb99