Thread (97 messages) 97 messages, 14 authors, 2022-11-03

Re: [PATCH v8 1/8] mm/memfd: Introduce userspace inaccessible memfd

From: Kirill A. Shutemov <hidden>
Date: 2022-10-06 13:04:23
Also in: kvm, linux-doc, linux-fsdevel, linux-mm, lkml, qemu-devel

On Thu, Oct 06, 2022 at 09:50:28AM +0100, Fuad Tabba wrote:
Hi,

<...>

quoted
diff --git a/mm/memfd_inaccessible.c b/mm/memfd_inaccessible.c
new file mode 100644
index 000000000000..2d33cbdd9282
--- /dev/null
+++ b/mm/memfd_inaccessible.c
<...>
quoted
+struct file *memfd_mkinaccessible(struct file *memfd)
+{
+       struct inaccessible_data *data;
+       struct address_space *mapping;
+       struct inode *inode;
+       struct file *file;
+
+       data = kzalloc(sizeof(*data), GFP_KERNEL);
+       if (!data)
+               return ERR_PTR(-ENOMEM);
+
+       data->memfd = memfd;
+       mutex_init(&data->lock);
+       INIT_LIST_HEAD(&data->notifiers);
+
+       inode = alloc_anon_inode(inaccessible_mnt->mnt_sb);
+       if (IS_ERR(inode)) {
+               kfree(data);
+               return ERR_CAST(inode);
+       }
+
+       inode->i_mode |= S_IFREG;
+       inode->i_op = &inaccessible_iops;
+       inode->i_mapping->private_data = data;
+
+       file = alloc_file_pseudo(inode, inaccessible_mnt,
+                                "[memfd:inaccessible]", O_RDWR,
+                                &inaccessible_fops);
+       if (IS_ERR(file)) {
+               iput(inode);
+               kfree(data);
I think this might be missing a return at this point.
Good catch! Thanks!

-- 
  Kiryl Shutsemau / Kirill A. Shutemov
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help