Displaying 2 results from an estimated 2 matches for "vring_fops".
2008 Apr 05
11
[PATCH RFC 1/5] vringfd syscall
...private_data;
+
+ /* Callback for other end. */
+ if (vr->ops && vr->ops->destroy)
+ vr->ops->destroy(vr->ops_data);
+
+ if (vr->used) {
+ kunmap(vr->used_page);
+ put_page(vr->used_page);
+ }
+
+ kfree(vr);
+ return 0;
+}
+
+static const struct file_operations vring_fops = {
+ .release = vring_release,
+ .write = vring_write,
+ .poll = vring_poll,
+};
+
+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 represe...
2008 Apr 05
11
[PATCH RFC 1/5] vringfd syscall
...private_data;
+
+ /* Callback for other end. */
+ if (vr->ops && vr->ops->destroy)
+ vr->ops->destroy(vr->ops_data);
+
+ if (vr->used) {
+ kunmap(vr->used_page);
+ put_page(vr->used_page);
+ }
+
+ kfree(vr);
+ return 0;
+}
+
+static const struct file_operations vring_fops = {
+ .release = vring_release,
+ .write = vring_write,
+ .poll = vring_poll,
+};
+
+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 represe...