usb: gadget: f_fs: Fix ffs_epfile_read_iter to handle ITER_UBUF
authorSandeep Dhavale <dhavale@google.com>
Sat, 1 Apr 2023 06:05:08 +0000 (06:05 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Apr 2023 17:24:01 +0000 (19:24 +0200)
commitd356b3cdd00cae4508be566a47c0cfb74e14862a
tree0be5c4d8b57e163785c316e0a5d72eebbee29736
parenteddebe39602efe631b83ff8d03f26eba12cfd760
usb: gadget: f_fs: Fix ffs_epfile_read_iter to handle ITER_UBUF

iov_iter for ffs_epfile_read_iter can be ITER_UBUF with io_uring.
In that case dup_iter() does not have to allocate anything and it
can return NULL. ffs_epfile_read_iter treats this as a failure and
returns -ENOMEM. Fix it by checking if iter_is_ubuf().

Fixes: 1e23db450cff ("io_uring: use iter_ubuf for single range imports")
Signed-off-by: Sandeep Dhavale <dhavale@google.com>
Acked-by: Jens Axboe <axboe@kernel.dk>
Link: https://lore.kernel.org/r/20230401060509.3608259-2-dhavale@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/f_fs.c