)]}'
{
  "commit": "83d60795157c83389e6aaa0532d5e19afa976a24",
  "tree": "73ccda19411b2b6228a54c0869cfa114da617611",
  "parents": [
    "fa0864b26b4bfa1dd4bb78eeffbc1f398cb56425"
  ],
  "author": {
    "name": "Chris Wilson",
    "email": "chris@chris-wilson.co.uk",
    "time": "Sat Jun 06 09:45:57 2009 +0100"
  },
  "committer": {
    "name": "Eric Anholt",
    "email": "eric@anholt.net",
    "time": "Tue Jun 09 13:52:57 2009 -0700"
  },
  "message": "drm/i915: Sanity check execbuffer arguments before touching state.\n\nBy sending a broken execbuffer (its length was not suitably aligned) I\ntriggered an operation upon a freed object. The invalid alignment was\ndiscovered after updating the write_domain on the object but before the\nobject was placed on the active queue. So during the unwind process\nfollowing the error, the now freed object attempts to flush its\nnon-existent, but outstanding, GPU writes causing this use-after-free.\n\n[drm:i915_dispatch_gem_execbuffer] *ERROR* alignment\n[drm:i915_gem_execbuffer] *ERROR* dispatch failed -22\nWARNING: at lib/kref.c:43 warn_slowpath_null+0x10/0x15()\nModules linked in:\nPid: 4552, comm: lt-csi-drm Not tainted 2.6.30-rc6 #423\nCall Trace:\n [\u003cc0119ef3\u003e] warn_slowpath_fmt+0x57/0x6d\n [\u003cc014de24\u003e] ? get_pageblock_migratetype+0x18/0x1e\n [\u003cc014e8fd\u003e] ? free_hot_page+0xa/0xc\n [\u003cc014e915\u003e] ? __free_pages+0x16/0x1f\n [\u003cc0153ebf\u003e] ? shmem_truncate_range+0x63e/0x656\n [\u003cc015fb2f\u003e] ? slob_page_alloc+0x146/0x1c8\n [\u003cc0119f19\u003e] warn_slowpath_null+0x10/0x15\n [\u003cc01f55f2\u003e] kref_get+0x1b/0x21\n [\u003cc02605db\u003e] i915_gem_object_move_to_active+0x1f/0x56\n [\u003cc0261302\u003e] i915_add_request+0x156/0x19a\n [\u003cc026136e\u003e] i915_gem_object_flush_gpu_write_domain+0x28/0x3f\n [\u003cc0261eca\u003e] i915_gem_object_unbind+0x4a/0x124\n [\u003cc0261fd7\u003e] i915_gem_free_object+0x33/0x9b\n [\u003cc0250d6b\u003e] drm_gem_object_free+0x28/0x4a\n [\u003cc0250d43\u003e] ? drm_gem_object_free+0x0/0x4a\n [\u003cc01f55ce\u003e] kref_put+0x38/0x41\n [\u003cc0250cbf\u003e] drm_gem_object_unreference+0x11/0x13\n [\u003cc0250d06\u003e] drm_gem_object_handle_unreference+0x1e/0x21\n [\u003cc0250d13\u003e] drm_gem_object_release_handle+0xa/0xe\n [\u003cc01f3e6b\u003e] idr_for_each+0x5f/0x98\n [\u003cc0250d09\u003e] ? drm_gem_object_release_handle+0x0/0xe\n [\u003cc0250daf\u003e] drm_gem_release+0x22/0x34\n [\u003cc025046f\u003e] drm_release+0x1e8/0x3c4\n [\u003cc0162d25\u003e] __fput+0xaf/0x146\n [\u003cc0162dce\u003e] fput+0x12/0x14\n [\u003cc01605ef\u003e] filp_close+0x48/0x52\n [\u003cc011b182\u003e] put_files_struct+0x57/0x9b\n [\u003cc011b1e4\u003e] exit_files+0x1e/0x20\n [\u003cc011c6b6\u003e] do_exit+0x16d/0x511\n [\u003cc03704ab\u003e] ? __schedule+0x3d4/0x3e5\n [\u003cc0103f0d\u003e] ? handle_irq+0xd/0x69\n [\u003cc011caa7\u003e] do_group_exit+0x4d/0x73\n [\u003cc011cae0\u003e] sys_exit_group+0x13/0x17\n [\u003cc010268c\u003e] sysenter_do_call+0x12/0x2b\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "38e0f8301a14e45e19fd826b069d3cdc65df73c9",
      "old_mode": 33188,
      "old_path": "drivers/gpu/drm/i915/i915_gem.c",
      "new_id": "ac22668b239a5b46bcedd089029e1668f7fbf876",
      "new_mode": 33188,
      "new_path": "drivers/gpu/drm/i915/i915_gem.c"
    }
  ]
}
