From: Al Viro <viro@xxxxxxxxxxxxxxxx> On Behalf Of Al Viro > Sent: 11 January 2021 14:44 > On Mon, Jan 11, 2021 at 11:57:08AM +0000, David Laight wrote: > > > > > size = copy_to_iter(to, ptr, size); > > > > > if (unlikely(!size)) { > > > > > r = -EFAULT; > > > > > goto ret_r; > > > > > } > > > > > > > > > > pos += size; > > > > > total += size; > > > > > } > > > > > > > > David > > > > > > I fixed the arguments to > > > copy_to_iter - other than that, Al's function works. > > > > > Oh - the error return for copy_to_iter() is wrong. > > It should (probably) return 'total' if it is nonzero. > > copy_to_iter() call there has an obvious problem > (arguments in the wrong order), but return value is handled > correctly. It does not do a blind return -EFAULT. RTFS... Ah I was looking at the version I'd cut the tail off... David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)