diff --git a/debian/changelog b/debian/changelog index b81100cea..3b194698f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,8 @@ linux-2.6 (2.6.32-17) UNRELEASED; urgency=low architectures where perf events are not available (Closes: #588409) * linux-tools: Add build-dependency on binutils-dev to enable symbol demangling in perf + * drm/i915: Fix memory corruption on resume from hibernation + (Closes: #534422) -- maximilian attems Wed, 07 Jul 2010 12:33:04 +0200 diff --git a/debian/patches/bugfix/x86/drm-i915-fix-hibernation-since-i915-self-reclaim-fix.patch b/debian/patches/bugfix/x86/drm-i915-fix-hibernation-since-i915-self-reclaim-fix.patch new file mode 100644 index 000000000..49b45bf58 --- /dev/null +++ b/debian/patches/bugfix/x86/drm-i915-fix-hibernation-since-i915-self-reclaim-fix.patch @@ -0,0 +1,44 @@ +From: Linus Torvalds +Date: Fri, 2 Jul 2010 10:04:42 +1000 +Subject: [PATCH] drm/i915: fix hibernation since i915 self-reclaim fixes + +commit 985b823b919273fe1327d56d2196b4f92e5d0fae upstream. + +Since commit 4bdadb9785696439c6e2b3efe34aa76df1149c83 ("drm/i915: +Selectively enable self-reclaim"), we've been passing GFP_MOVABLE to the +i915 page allocator where we weren't before due to some over-eager +removal of the page mapping gfp_flags games the code used to play. + +This caused hibernate on Intel hardware to result in a lot of memory +corruptions on resume. See for example + + http://bugzilla.kernel.org/show_bug.cgi?id=13811 + +Reported-by: Evengi Golov (in bugzilla) +Signed-off-by: Dave Airlie +Tested-by: M. Vefa Bicakci +Cc: stable@kernel.org +Cc: Chris Wilson +Cc: KOSAKI Motohiro +Cc: Hugh Dickins +Signed-off-by: Linus Torvalds +--- + drivers/gpu/drm/i915/i915_gem.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c +index 9ded3da..0743858 100644 +--- a/drivers/gpu/drm/i915/i915_gem.c ++++ b/drivers/gpu/drm/i915/i915_gem.c +@@ -2239,7 +2239,7 @@ i915_gem_object_get_pages(struct drm_gem_object *obj, + mapping = inode->i_mapping; + for (i = 0; i < page_count; i++) { + page = read_cache_page_gfp(mapping, i, +- mapping_gfp_mask (mapping) | ++ GFP_HIGHUSER | + __GFP_COLD | + gfpmask); + if (IS_ERR(page)) +-- +1.7.1 + diff --git a/debian/patches/series/17 b/debian/patches/series/17 index 7156a6aa3..7d7ab75bb 100644 --- a/debian/patches/series/17 +++ b/debian/patches/series/17 @@ -8,3 +8,4 @@ + bugfix/all/perf-Use-default-compiler-mode-by-default.patch + bugfix/all/perf-tools-Move-QUIET_STDERR-def-to-before-first-use.patch + bugfix/all/perf-tools-Check-if-dev-null-can-be-used-as-the-o-gc.patch ++ bugfix/x86/drm-i915-fix-hibernation-since-i915-self-reclaim-fix.patch