Commit dd90ad50 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull struct file leak fixes from Al Viro:
 "a couple of leaks on failure exits missing fdput()"

* tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  lirc: rc_dev_get_from_fd(): fix file leak
  powerpc: fix a file leak in kvm_vcpu_ioctl_enable_cap()
parents 4c7be57f bba1f675
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1984,8 +1984,10 @@ static int kvm_vcpu_ioctl_enable_cap(struct kvm_vcpu *vcpu,
			break;

		r = -ENXIO;
		if (!xive_enabled())
		if (!xive_enabled()) {
			fdput(f);
			break;
		}

		r = -EPERM;
		dev = kvm_device_from_filp(f.file);
+3 −1
Original line number Diff line number Diff line
@@ -828,8 +828,10 @@ struct rc_dev *rc_dev_get_from_fd(int fd, bool write)
		return ERR_PTR(-EINVAL);
	}

	if (write && !(f.file->f_mode & FMODE_WRITE))
	if (write && !(f.file->f_mode & FMODE_WRITE)) {
		fdput(f);
		return ERR_PTR(-EPERM);
	}

	fh = f.file->private_data;
	dev = fh->rc;