lkml.org 
[lkml]   [2014]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] usb: ffs: fix regression when quirk_ep_out_aligned_size flag is set
On Wed, Oct 08, 2014 at 02:12:18PM -0700, David Cohen wrote:
> use_mm(io_data->mm);
> for (i = 0; i < io_data->nr_segs; i++) {
> + size_t len = min_t(size_t, ret - pos,
> + io_data->iovec[i].iov_len);
> + if (!len)
> + break;
> if (unlikely(copy_to_user(io_data->iovec[i].iov_base,
> - &io_data->buf[pos],
> - io_data->iovec[i].iov_len))) {
> + &io_data->buf[pos], len))) {
> ret = -EFAULT;
> break;
> }
> - pos += io_data->iovec[i].iov_len;
> + pos += len;

Hmm... This is really asking for something like
if (copy_to_iter(io_data->buf, ret, <something>) != ret)
ret = -EFAULT;
with <something> being an iov_iter instead of iovec. It would be really
nice to have that thing switched to ->read_iter/->write_iter, dropping
->read/->write/->aio_read/->aio_write; I'm not familiar enough with that
code to do it on my own, though, so it would require some help from
maintainers...


\
 
 \ /
  Last update: 2014-10-12 21:41    [W:0.116 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site