OSDN Git Service

drm/i915/gem: Promote 'remain' to unsigned long
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 7 Apr 2020 08:59:30 +0000 (09:59 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 7 Apr 2020 13:43:58 +0000 (14:43 +0100)
Tidy the code by casting remain to unsigned long once for the duration
of eb_relocate_vma()

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200407085930.19421-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c

index 230ba1a..517898a 100644 (file)
@@ -1501,13 +1501,12 @@ static int eb_relocate_vma(struct i915_execbuffer *eb, struct eb_vma *ev)
 {
 #define N_RELOC(x) ((x) / sizeof(struct drm_i915_gem_relocation_entry))
        struct drm_i915_gem_relocation_entry stack[N_RELOC(512)];
-       struct drm_i915_gem_relocation_entry __user *urelocs;
        const struct drm_i915_gem_exec_object2 *entry = ev->exec;
-       unsigned int remain;
+       struct drm_i915_gem_relocation_entry __user *urelocs =
+               u64_to_user_ptr(entry->relocs_ptr);
+       unsigned long remain = entry->relocation_count;
 
-       urelocs = u64_to_user_ptr(entry->relocs_ptr);
-       remain = entry->relocation_count;
-       if (unlikely((unsigned long)remain > N_RELOC(ULONG_MAX)))
+       if (unlikely(remain > N_RELOC(ULONG_MAX)))
                return -EINVAL;
 
        /*
@@ -1515,13 +1514,13 @@ static int eb_relocate_vma(struct i915_execbuffer *eb, struct eb_vma *ev)
         * to read. However, if the array is not writable the user loses
         * the updated relocation values.
         */
-       if (unlikely(!access_ok(urelocs, remain*sizeof(*urelocs))))
+       if (unlikely(!access_ok(urelocs, remain * sizeof(*urelocs))))
                return -EFAULT;
 
        do {
                struct drm_i915_gem_relocation_entry *r = stack;
                unsigned int count =
-                       min_t(unsigned int, remain, ARRAY_SIZE(stack));
+                       min_t(unsigned long, remain, ARRAY_SIZE(stack));
                unsigned int copied;
 
                /*