Re: [PATCH RFC 1/5] vringfd syscall

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday 05 April 2008, Rusty Russell wrote:
> +asmlinkage long sys_vringfd(void __user *addr,
> +                           unsigned num_descs,
> +                           u16 __user *last_used)
> +{
> +       int fd, err;
> +       struct file *filp;
> +       struct vring_info *vr;
> +
> +       /* Must be a power of two, and representable by u16 */
> +       if (!num_descs || (num_descs & (num_descs-1)) || num_descs > 65536) {
> +               err = -EINVAL;
> +               goto out;
> +       }
> +
> +       fd = get_unused_fd();
> +       if (fd < 0) {
> +               err = fd;
> +               goto out;
> +       }
> +
> +       filp = alloc_file(vring_mnt, dget(vring_mnt->mnt_root), FMODE_WRITE,
> +                         &vring_fops);
> +       if (!filp) {
> +               err = -ENFILE;
> +               goto put_fd;
> +       }

This looks like a candidate for anon_inode_getfd(), which would let you
get rid of the code for registering your own file system.

	Arnd <><
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux