[PATCH] drm/amdkfd: CRIU return -EFAULT for copy_to_user() failure

Dan Carpenter dan.carpenter at oracle.com
Wed Feb 9 18:09:59 UTC 2022


If copy_to_user() fails, it returns the number of bytes remaining to
be copied but we want to return a negative error code (-EFAULT) to the
user.

Fixes: 9d5dabfeff3c ("drm/amdkfd: CRIU Save Shared Virtual Memory ranges")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index 41f03d165bad..38a056fd0966 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -3775,10 +3775,10 @@ int kfd_criu_checkpoint_svm(struct kfd_process *p,
 			goto exit_priv;
 		}
 
-		ret = copy_to_user(user_priv_data + *priv_data_offset,
-				   svm_priv, svm_priv_data_size);
-		if (ret) {
+		if (copy_to_user(user_priv_data + *priv_data_offset, svm_priv,
+				 svm_priv_data_size)) {
 			pr_err("Failed to copy svm priv to user\n");
+			ret = -EFAULT;
 			goto exit_priv;
 		}
 
-- 
2.20.1



More information about the amd-gfx mailing list