KVM: explain missing kvm_put_kvm in case of failure
The call to kvm_put_kvm was removed from error handling in commit
506cfba9e7
("KVM: don't use anon_inode_getfd() before possible
failures"), but it is _not_ a memory leak. Reuse Al's explanation
to avoid that someone else makes the same mistake.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Родитель
039c5d1b2c
Коммит
525df86145
|
@ -3191,6 +3191,12 @@ static int kvm_dev_ioctl_create_vm(unsigned long type)
|
||||||
return PTR_ERR(file);
|
return PTR_ERR(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Don't call kvm_put_kvm anymore at this point; file->f_op is
|
||||||
|
* already set, with ->release() being kvm_vm_release(). In error
|
||||||
|
* cases it will be called by the final fput(file) and will take
|
||||||
|
* care of doing kvm_put_kvm(kvm).
|
||||||
|
*/
|
||||||
if (kvm_create_vm_debugfs(kvm, r) < 0) {
|
if (kvm_create_vm_debugfs(kvm, r) < 0) {
|
||||||
put_unused_fd(r);
|
put_unused_fd(r);
|
||||||
fput(file);
|
fput(file);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче