Since the commit 1e23db450cff ("io_uring: use iter_ubuf for single range imports") .read_iter() can be called with iov type ITER_UBUF. In such case dup_iter() will correctly dup but it will not allocate any memory. But callers ffs_epfile_read_iter and ep_read_iter treat this as a failure. Following patches address this by checking if iter_is_ubuf(). Without the fix, async IOs from io_uring will be returned with -ENOMEM. Sandeep Dhavale (2): usb: gadget: f_fs: Fix ffs_epfile_read_iter to handle ITER_UBUF usb: gadgetfs: Fix ep_read_iter to handle ITER_UBUF drivers/usb/gadget/function/f_fs.c | 2 +- drivers/usb/gadget/legacy/inode.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- 2.40.0.348.gf938b09366-goog