]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Jan 2020 10:36:25 +0000 (11:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Jan 2020 10:36:25 +0000 (11:36 +0100)
added patches:
drm-i915-fix-pid-leak-with-banned-clients.patch

queue-5.4/drm-i915-fix-pid-leak-with-banned-clients.patch [new file with mode: 0644]
queue-5.4/series [new file with mode: 0644]

diff --git a/queue-5.4/drm-i915-fix-pid-leak-with-banned-clients.patch b/queue-5.4/drm-i915-fix-pid-leak-with-banned-clients.patch
new file mode 100644 (file)
index 0000000..e358a39
--- /dev/null
@@ -0,0 +1,42 @@
+From f0f3a6cecf3b98990985cd42f7bf5a0313894822 Mon Sep 17 00:00:00 2001
+From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
+Date: Tue, 17 Dec 2019 17:09:33 +0000
+Subject: drm/i915: Fix pid leak with banned clients
+
+From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
+
+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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/gem/i915_gem_context.c |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
++++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
+@@ -2094,8 +2094,7 @@ int i915_gem_context_create_ioctl(struct
+       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;
+       }
diff --git a/queue-5.4/series b/queue-5.4/series
new file mode 100644 (file)
index 0000000..f319567
--- /dev/null
@@ -0,0 +1 @@
+drm-i915-fix-pid-leak-with-banned-clients.patch