1. 20 Nov, 2014 16 commits
  2. 16 Nov, 2014 22 commits
  3. 15 Nov, 2014 1 commit
  4. 14 Nov, 2014 1 commit
    • Dave Airlie's avatar
      Merge tag 'drm/gem-cma/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux into drm-next · ca5a71de
      Dave Airlie authored
      drm: Sanitize DRM_IOCTL_MODE_CREATE_DUMB input
      
      Some drivers erroneously treat the .pitch and .size fields of struct
      drm_mode_create_dumb as inputs. While the include/uapi/drm/drm_mode.h
      header has a comment denoting them as outputs, that seemingly wasn't
      enough to make drivers use them properly.
      
      The result is that some userspace doesn't explicitly zero out those
      fields, assuming that the kernel won't use them. That causes problems
      since the data within the structure might be uninitialized, so bogus
      data may end up confusing drivers (ridiculously large values for the
      pitch, ...).
      
      This series attempts to improve the situation by fixing all drivers to
      not use the output fields. Furthermore to spare new drivers this bad
      surprise, the DRM core now zeros out these fields prior to handing the
      data structure to the driver.
      
      Lessons learned from this are that future IOCTLs should be properly
      documented (in the DRM DocBook for example) and should be rigorously
      defined. To prevent misuse like this, userspace should be required to
      zero out all output fields. The kernel should check for this and fail
      if that's not the case.
      
      * tag 'drm/gem-cma/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux:
        drm/cma: Remove call to drm_gem_free_mmap_offset()
        drm: Sanitize DRM_IOCTL_MODE_CREATE_DUMB input
        drm/rcar: gem: dumb: pitch is an output
        drm/omap: gem: dumb: pitch is an output
        drm/cma: Introduce drm_gem_cma_dumb_create_internal()
        drm/doc: Add GEM/CMA helpers to kerneldoc
        drm/doc: mm: Fix indentation
        drm/gem: Fix a few kerneldoc typos
      ca5a71de