drm/i915: Avoid truncation before clamping userspace's priority value

"Linux Kernel Mailing List" <[email protected]> Fri, 16 Feb 2018 17:15:05 +0000 (UTC)
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/33afe065b66f226ee5f90ab24ff55799c896e381
Commit:     33afe065b66f226ee5f90ab24ff55799c896e381
Parent:     73b0fcd24ef1b8e20b7f6e6babcde540d96d0cb2
Refname:    refs/heads/master
Author:     Chris Wilson <[email protected]>
AuthorDate: Thu Feb 8 08:51:51 2018 +0000
Committer:  Rodrigo Vivi <[email protected]>
CommitDate: Mon Feb 12 23:34:59 2018 -0800

    drm/i915: Avoid truncation before clamping userspace's priority value
    
    Userspace provides a 64b value for the priority, we need to be careful
    to preserve the full range before validation to prevent truncation (and
    letting an illegal value pass).
    
    Reported-by: Antonio Argenziano <[email protected]>
    Fixes: ac14fbd460d0 ("drm/i915/scheduler: Support user-defined priorities")
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: Antonio Argenziano <[email protected]>
    Cc: Michal Winiarski <[email protected]>
    Cc: Mika Kuoppala <[email protected]>
    Cc: Joonas Lahtinen <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Joonas Lahtinen <[email protected]>
    (cherry picked from commit 11a18f631959fd1ca10856c836a827683536770c)
    Signed-off-by: Rodrigo Vivi <[email protected]>
---
 drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index 648e7536ff51..0c963fcf31ff 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -803,7 +803,7 @@ int i915_gem_context_setparam_ioctl(struct drm_device *dev, void *data,
 
 	case I915_CONTEXT_PARAM_PRIORITY:
 		{
-			int priority = args->value;
+			s64 priority = args->value;
 
 			if (args->size)
 				ret = -EINVAL;
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html