Skip to content

Commit

Permalink
Revert "io_uring/rsrc: disallow multi-source reg buffers"
Browse files Browse the repository at this point in the history
This reverts commit edd4782.

There's really no specific need to disallow multiple sources of buffers,
and io_uring really should not be mandating this by itself. We should
be able to solely rely on GUP making these decisions.

As this also stands in the way of a cleanup where io_uring is the odd
one out, kill it.

Link: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
axboe committed Apr 20, 2023
1 parent ea97f6c commit 3c85cc4
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions io_uring/rsrc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1053,17 +1053,14 @@ struct page **io_pin_pages(unsigned long ubuf, unsigned long len, int *npages)
pret = pin_user_pages(ubuf, nr_pages, FOLL_WRITE | FOLL_LONGTERM,
pages, vmas);
if (pret == nr_pages) {
struct file *file = vmas[0]->vm_file;

/* don't support file backed memory */
for (i = 0; i < nr_pages; i++) {
if (vmas[i]->vm_file != file) {
ret = -EINVAL;
break;
}
if (!file)
struct vm_area_struct *vma = vmas[i];

if (vma_is_shmem(vma))
continue;
if (!vma_is_shmem(vmas[i]) && !is_file_hugepages(file)) {
if (vma->vm_file &&
!is_file_hugepages(vma->vm_file)) {
ret = -EOPNOTSUPP;
break;
}
Expand Down

0 comments on commit 3c85cc4

Please sign in to comment.