| From 2b9439d0905c1a13e62be2eac72ce0b5206a5ef3 Mon Sep 17 00:00:00 2001 |
| From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> |
| Date: Tue, 17 Dec 2019 17:09:33 +0000 |
| Subject: [PATCH] drm/i915: Fix pid leak with banned clients |
| |
| commit f0f3a6cecf3b98990985cd42f7bf5a0313894822 upstream. |
| |
| Get_pid_task() needs to be paired with a put_pid or we leak a pid |
| reference every time a banned client tries to create a context. |
| |
| v2: |
| * task_pid_nr helper exists! (Chris) |
| |
| Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> |
| Fixes: b083a0870c79 ("drm/i915: Add per client max context ban limit") |
| Cc: Chris Wilson <chris@chris-wilson.co.uk> |
| Cc: Mika Kuoppala <mika.kuoppala@intel.com> |
| Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> |
| Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20191217170933.8108-1-tvrtko.ursulin@linux.intel.com |
| (cherry picked from commit ba16a48af797db124ac100417f9229b1650ce1fb) |
| Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c |
| index dd728b26b5aa..094d6c0a1a99 100644 |
| --- a/drivers/gpu/drm/i915/i915_gem_context.c |
| +++ b/drivers/gpu/drm/i915/i915_gem_context.c |
| @@ -1539,8 +1539,7 @@ int i915_gem_context_create_ioctl(struct drm_device *dev, void *data, |
| ext_data.fpriv = file->driver_priv; |
| if (client_is_banned(ext_data.fpriv)) { |
| DRM_DEBUG("client %s[%d] banned from creating ctx\n", |
| - current->comm, |
| - pid_nr(get_task_pid(current, PIDTYPE_PID))); |
| + current->comm, task_pid_nr(current)); |
| return -EIO; |
| } |
| |
| -- |
| 2.7.4 |
| |