The global variable errno is not recommended to be assigned,
    and rc in the function does not check its return value, so it is fixed

Signed-off-by: Liu Jing <liuj...@cmss.chinamobile.com>
---
 tools/testing/selftests/kvm/s390x/cmma_test.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/kvm/s390x/cmma_test.c 
b/tools/testing/selftests/kvm/s390x/cmma_test.c
index e32dd59703a0..c59c21f28bbd 100644
--- a/tools/testing/selftests/kvm/s390x/cmma_test.c
+++ b/tools/testing/selftests/kvm/s390x/cmma_test.c
@@ -210,7 +210,7 @@ static int vm_get_cmma_bits(struct kvm_vm *vm, u64 flags, 
int *errno_out)
        struct kvm_s390_cmma_log args;
        int rc;
 
-       errno = 0;
+       *errno_out = 0;
 
        args = (struct kvm_s390_cmma_log){
                .start_gfn = 0,
@@ -219,8 +219,10 @@ static int vm_get_cmma_bits(struct kvm_vm *vm, u64 flags, 
int *errno_out)
                .values = (__u64)&cmma_value_buf[0]
        };
        rc = __vm_ioctl(vm, KVM_S390_GET_CMMA_BITS, &args);
+       if (rc < 0) {
+               *errno_out = errno;
+       }
 
-       *errno_out = errno;
        return rc;
 }
 
-- 
2.27.0




Reply via email to