Message ID | 69d64d93accd1f33691b8a383ae555baee80f943.1665975828.git.houwenlong.hwl@antgroup.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/2] KVM: x86: Reduce refcount if single_open() fails in kvm_mmu_rmaps_stat_open() | expand |
On 10/17/22 05:06, Hou Wenlong wrote: > 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> > --- > virt/kvm/kvm_main.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index e30f1b4ecfa5..f7b06c1e8827 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -5398,6 +5398,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; > > @@ -5409,15 +5410,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) Queued, thanks. Paolo
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index e30f1b4ecfa5..f7b06c1e8827 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -5398,6 +5398,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; @@ -5409,15 +5410,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)
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> --- virt/kvm/kvm_main.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)