1 |
From a5f5d2c7e1afe2fae389115bccbf732ae63e2b3d Mon Sep 17 00:00:00 2001 |
2 |
From: Sasha Levin <sashal@kernel.org> |
3 |
Date: Mon, 17 Oct 2022 11:06:10 +0800 |
4 |
Subject: KVM: debugfs: Return retval of simple_attr_open() if it fails |
5 |
|
6 |
From: Hou Wenlong <houwenlong.hwl@antgroup.com> |
7 |
|
8 |
[ Upstream commit 180418e2eb33be5c8d0b703c843e0ebc045aef80 ] |
9 |
|
10 |
Although simple_attr_open() fails only with -ENOMEM with current code |
11 |
base, it would be nicer to return retval of simple_attr_open() directly |
12 |
in kvm_debugfs_open(). |
13 |
|
14 |
No functional change intended. |
15 |
|
16 |
Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com> |
17 |
Message-Id: <69d64d93accd1f33691b8a383ae555baee80f943.1665975828.git.houwenlong.hwl@antgroup.com> |
18 |
Cc: stable@vger.kernel.org |
19 |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
20 |
Signed-off-by: Sasha Levin <sashal@kernel.org> |
21 |
--- |
22 |
virt/kvm/kvm_main.c | 13 ++++++------- |
23 |
1 file changed, 6 insertions(+), 7 deletions(-) |
24 |
|
25 |
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c |
26 |
index 4c5259828efd..b76c775f61f9 100644 |
27 |
--- a/virt/kvm/kvm_main.c |
28 |
+++ b/virt/kvm/kvm_main.c |
29 |
@@ -5404,6 +5404,7 @@ static int kvm_debugfs_open(struct inode *inode, struct file *file, |
30 |
int (*get)(void *, u64 *), int (*set)(void *, u64), |
31 |
const char *fmt) |
32 |
{ |
33 |
+ int ret; |
34 |
struct kvm_stat_data *stat_data = (struct kvm_stat_data *) |
35 |
inode->i_private; |
36 |
|
37 |
@@ -5415,15 +5416,13 @@ static int kvm_debugfs_open(struct inode *inode, struct file *file, |
38 |
if (!kvm_get_kvm_safe(stat_data->kvm)) |
39 |
return -ENOENT; |
40 |
|
41 |
- if (simple_attr_open(inode, file, get, |
42 |
- kvm_stats_debugfs_mode(stat_data->desc) & 0222 |
43 |
- ? set : NULL, |
44 |
- fmt)) { |
45 |
+ ret = simple_attr_open(inode, file, get, |
46 |
+ kvm_stats_debugfs_mode(stat_data->desc) & 0222 |
47 |
+ ? set : NULL, fmt); |
48 |
+ if (ret) |
49 |
kvm_put_kvm(stat_data->kvm); |
50 |
- return -ENOMEM; |
51 |
- } |
52 |
|
53 |
- return 0; |
54 |
+ return ret; |
55 |
} |
56 |
|
57 |
static int kvm_debugfs_release(struct inode *inode, struct file *file) |
58 |
-- |
59 |
2.35.1 |
60 |
|