KVM: debugfs: Return retval of simple_attr_open() if it fails
authorHou Wenlong <houwenlong.hwl@antgroup.com>
Mon, 17 Oct 2022 03:06:10 +0000 (11:06 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 27 Oct 2022 08:41:55 +0000 (04:41 -0400)
Although simple_attr_open() fails only with -ENOMEM with current code
base, it would be nicer to return retval of simple_attr_open() directly
in kvm_debugfs_open().

No functional change intended.

Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com>
Message-Id: <69d64d93accd1f33691b8a383ae555baee80f943.1665975828.git.houwenlong.hwl@antgroup.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
virt/kvm/kvm_main.c

index 1376a47..f1df24c 100644 (file)
@@ -5409,6 +5409,7 @@ static int kvm_debugfs_open(struct inode *inode, struct file *file,
                           int (*get)(void *, u64 *), int (*set)(void *, u64),
                           const char *fmt)
 {
+       int ret;
        struct kvm_stat_data *stat_data = (struct kvm_stat_data *)
                                          inode->i_private;
 
@@ -5420,15 +5421,13 @@ static int kvm_debugfs_open(struct inode *inode, struct file *file,
        if (!kvm_get_kvm_safe(stat_data->kvm))
                return -ENOENT;
 
-       if (simple_attr_open(inode, file, get,
-                   kvm_stats_debugfs_mode(stat_data->desc) & 0222
-                   ? set : NULL,
-                   fmt)) {
+       ret = simple_attr_open(inode, file, get,
+                              kvm_stats_debugfs_mode(stat_data->desc) & 0222
+                              ? set : NULL, fmt);
+       if (ret)
                kvm_put_kvm(stat_data->kvm);
-               return -ENOMEM;
-       }
 
-       return 0;
+       return ret;
 }
 
 static int kvm_debugfs_release(struct inode *inode, struct file *file)