[PATCH] drm/i915: Fix the static code analysis warning

Mika Kahola mika.kahola at intel.com
Wed Jan 16 09:44:28 UTC 2019


Fixes branch past initialization warning on static code analysis

Signed-off-by: Mika Kahola <mika.kahola at intel.com>
---
 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index f250109e1f66..256fb9977dfe 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -1603,11 +1603,8 @@ static int eb_copy_relocations(const struct i915_execbuffer *eb)
 			if (__copy_from_user((char *)relocs + copied,
 					     (char __user *)urelocs + copied,
 					     len)) {
-end_user:
-				user_access_end();
 				kvfree(relocs);
-				err = -EFAULT;
-				goto err;
+				goto end_user;
 			}
 
 			copied += len;
@@ -1623,8 +1620,10 @@ static int eb_copy_relocations(const struct i915_execbuffer *eb)
 		 * happened we would make the mistake of assuming that the
 		 * relocations were valid.
 		 */
-		if (!user_access_begin(urelocs, size))
+		if (!user_access_begin(urelocs, size)) {
+			kvfree(relocs);
 			goto end_user;
+		}
 
 		for (copied = 0; copied < nreloc; copied++)
 			unsafe_put_user(-1,
@@ -1637,6 +1636,11 @@ static int eb_copy_relocations(const struct i915_execbuffer *eb)
 
 	return 0;
 
+end_user:
+	user_access_end();
+	err = -EFAULT;
+	goto err;
+
 err:
 	while (i--) {
 		struct drm_i915_gem_relocation_entry *relocs =
-- 
2.17.1



More information about the Intel-gfx-trybot mailing list