1. 02 Feb, 2017 18 commits
  2. 01 Feb, 2017 6 commits
  3. 31 Jan, 2017 13 commits
  4. 30 Jan, 2017 3 commits
    • Joonyoung Shim's avatar
      drm/exynos: g2d: prevent integer overflow in · e41456bf
      Joonyoung Shim authored
      The size computations done in the ioctl function use an integer.
      If userspace submits a request with req->cmd_nr or req->cmd_buf_nr
      set to INT_MAX, the integer computations overflow later, leading
      to potential (kernel) memory corruption.
      
      Prevent this issue by enforcing a limit on the number of submitted
      commands, so that we have enough headroom later for the size
      computations.
      
      Note that this change has no impact on the currently available
      users in userspace, like e.g. libdrm/exynos.
      
      While at it, also make a comment about the size computation more
      detailed.
      Signed-off-by: default avatarJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: default avatarTobias Jakobi <tjakobi@math.uni-bielefeld.de>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      e41456bf
    • Dan Carpenter's avatar
      drm/exynos: fix a timeout loop · 8646dcb8
      Dan Carpenter authored
      We were trying to print an error message if we timed out here, but the
      loop actually ends with "tries" set to UINT_MAX and not zero.  Fix this
      by changing from tries-- to --tries.
      
      A for loop would actually be the most natural way to do this.  My fix
      means we only loop 99 times instead of 100 but that's probably ok.
      
      Fixes: a696394c ('drm/exynos: mixer: simplify loop in vp_win_reset()')
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarTobias Jakobi <tjakobi@math.uni-bielefeld.de>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      8646dcb8
    • Inki Dae's avatar
      drm/exynos: use atomic helper commit · 41cbf0fd
      Inki Dae authored
      This patch replaces specific atomic commit function
      with atomic helper commit one.
      
      For this, it removes existing atomic commit function
      and relevant code specific to Exynos DRM and makes
      atomic helper commit to be used instead.
      
      Below are changes for the use of atomic helper commit:
      - add atomic_commit_tail callback specific to Exynos DRM
        . default implemention of atomic helper doesn't mesh well
          with runtime PM so the device driver which supports runtime
          PM should call drm_atomic_helper_commit_modeset_enables function
          prior to drm_atomic_helper_commit_planes function call.
          atomic_commit_tail callback implements this call ordering.
      - allow plane commit only in case that CRTC device is enabled.
        . for this, it calls atomic_helper_commit_planes function
          with DRM_PLANE_COMMIT_ACTIVE_ONLY flag in atomic_commit_tail callback.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      Reviewed-by: default avatarGustavo Padovan <gustavo.padovan@collabora.com>
      41cbf0fd