Summary: | [uxa] Fix SIGSEGV in libdrm memory alloc for height == 0 and width == 0 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Thomas Meyer <thomas.mey> | ||||||
Component: | DRM/Intel | Assignee: | Chris Wilson <chris> | ||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||
Severity: | normal | ||||||||
Priority: | medium | CC: | intel-gfx-bugs | ||||||
Version: | unspecified | ||||||||
Hardware: | x86-64 (AMD64) | ||||||||
OS: | All | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
Thomas Meyer
2014-03-06 14:48:30 UTC
Nope the patch doesn't fix the bug, it can be triggered other ways as well. Assigning to Chris for the "wontfix->sna" resolution. any news on this? I still run into this bug! Chris, do you have a better solution to fix this bug? I only can trigger this bug this one way, i.e. I attach an external monitor to my laptop and try to log into gnome, and then Xorg server crashes due this bug. The issue is quite an obvious set of bugs inside libdrm... Created attachment 108797 [details]
fix crash in drm_intel_gem_bo_free
Also take a look at the locking... locking looks okay, doesn't it?! drm_intel_gem_bo_set_tiling_internal() and drm_intel_bo_gem_set_in_aperture_size() is sometimes calles with the lock held, sometimes, not... I'm not sure what bufmgr_gem->lock does protect, it's a bit unclear from the code. Hmm, in the free path on error during create, I though we access a list that requires locking. But actually since we are never added to the lists at that point, the deletion is a no-op, and locking not required. For completeness, do both list initialisation together and send to dri-devel@lists.freedestop.org and cc "Damien Lespiau <damien.lespiau@intel.com>" with a Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Pushed the libdrm patch. commit 4f44ecc6beeaac5064871d41dcc4693b8e313859 Author: Thomas Meyer <thomas@m3y3r.de> Date: Fri Nov 7 19:43:04 2014 +0100 intel: Fix SIGSEGV in libdrm for heigth = 0 and width = 0 drm_intel_gem_bo_free() crashes because the list bo_gem->vma_list is not yet initialised, but the error path tries to free it. See also https://bugs.freedesktop.org/show_bug.cgi?id=75844 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.