1. 26 11月, 2015 1 次提交
  2. 25 11月, 2015 11 次提交
  3. 24 11月, 2015 2 次提交
  4. 21 11月, 2015 5 次提交
  5. 19 11月, 2015 11 次提交
  6. 18 11月, 2015 9 次提交
  7. 17 11月, 2015 1 次提交
    • V
      drm/i915: Don't clobber the addfb2 ioctl params · 76dc3769
      Ville Syrjälä 提交于
      We try to convert the old way of of specifying fb tiling (obj->tiling)
      into the new fb modifiers. We store the result in the passed in mode_cmd
      structure. But that structure comes directly from the addfb2 ioctl, and
      gets copied back out to userspace, which means we're clobbering the
      modifiers that the user provided (all 0 since the DRM_MODE_FB_MODIFIERS
      flag wasn't even set by the user). Hence if the user reuses the struct
      for another addfb2, the ioctl will be rejected since it's now asking for
      some modifiers w/o the flag set.
      
      Fix the problem by making a copy of the user provided structure. We can
      play any games we want with the copy.
      
      IGT-Version: 1.12-git (x86_64) (Linux: 4.4.0-rc1-stereo+ x86_64)
      ...
      Subtest basic-X-tiled: SUCCESS (0.001s)
      Test assertion failure function pitch_tests, file kms_addfb_basic.c:167:
      Failed assertion: drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0
      Last errno: 22, Invalid argument
      Stack trace:
        #0 [__igt_fail_assert+0x101]
        #1 [pitch_tests+0x619]
        #2 [__real_main426+0x2f]
        #3 [main+0x23]
        #4 [__libc_start_main+0xf0]
        #5 [_start+0x29]
        #6 [<unknown>+0x29]
        Subtest framebuffer-vs-set-tiling failed.
        **** DEBUG ****
        Test assertion failure function pitch_tests, file kms_addfb_basic.c:167:
        Failed assertion: drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0
        Last errno: 22, Invalid argument
        ****  END  ****
        Subtest framebuffer-vs-set-tiling: FAIL (0.003s)
        ...
      
      IGT-Version: 1.12-git (x86_64) (Linux: 4.4.0-rc1-stereo+ x86_64)
      Subtest framebuffer-vs-set-tiling: SUCCESS (0.000s)
      
      Cc: stable@vger.kernel.org # v4.1+
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Fixes: 2a80eada ("drm/i915: Add fb format modifier support")
      Testcase: igt/kms_addfb_basic/clobbered-modifier
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1447261890-3960-1-git-send-email-ville.syrjala@linux.intel.com
      76dc3769