On Sun, Apr 03, 2016 at 06:14:06PM +0100, Chris Wilson wrote: > Holding a reference to the containing task_struct is not sufficient to > prevent the mm_struct from being reaped under memory pressure. If this > happens whilst we are calling get_user_pages(), explosions errupt - > sometimes an immediate GPF, sometimes page flag corruption. To prevent > the target mm from being reaped as we are reading from it, acquire a > reference before we begin. > > Testcase: igt/gem_shrink/*userptr > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Cc: Michał Winiarski <michal.winiarski@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Michał Winiarski <michal.winiarski@xxxxxxxxx> -Michał > --- > drivers/gpu/drm/i915/i915_gem_userptr.c | 29 +++++++++++++++++------------ > 1 file changed, 17 insertions(+), 12 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html