anonfd: Allow making anon files read-only
It seems a couple places such as arch/ia64/kernel/perfmon.c and drivers/infiniband/core/uverbs_main.c could use anon_inode_getfile() instead of a private pseudo-fs + alloc_file(), if only there were a way to get a read-only file. So provide this by having anon_inode_getfile() create a read-only file if we pass O_RDONLY in flags. Signed-off-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -1177,7 +1177,7 @@ static struct file_operations kvm_vcpu_fops = {
|
||||
*/
|
||||
static int create_vcpu_fd(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
return anon_inode_getfd("kvm-vcpu", &kvm_vcpu_fops, vcpu, 0);
|
||||
return anon_inode_getfd("kvm-vcpu", &kvm_vcpu_fops, vcpu, O_RDWR);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1638,7 +1638,7 @@ static int kvm_dev_ioctl_create_vm(void)
|
||||
kvm = kvm_create_vm();
|
||||
if (IS_ERR(kvm))
|
||||
return PTR_ERR(kvm);
|
||||
fd = anon_inode_getfd("kvm-vm", &kvm_vm_fops, kvm, 0);
|
||||
fd = anon_inode_getfd("kvm-vm", &kvm_vm_fops, kvm, O_RDWR);
|
||||
if (fd < 0)
|
||||
kvm_put_kvm(kvm);
|
||||
|
||||
|
Reference in New Issue
Block a user