Re: [PATCH 05/16] fs: fix kernel_read prototype

From: Christoph Hellwig
Date: Fri Sep 01 2017 - 06:37:13 EST


On Wed, Aug 30, 2017 at 04:37:04PM +0100, Al Viro wrote:
> On Wed, Aug 30, 2017 at 04:59:56PM +0200, Christoph Hellwig wrote:
> > Use proper ssize_t and size_t types for the return value and count
> > argument, move the offset last and make it an in/out argument like
> > all other read/write helpers.
>
> Might be better to switch the third argument to void * at the same time
> and lose those casts.

Good point, updated.

>
> > if (p)
> > memcpy(p + offset, buf, n);
> > -
> > - offset += n;
>
> Almost certainly broken - in effect, you've taken the update of offset
> several lines prior, so that memcpy() is getting the wrong first argument.
> The same needs to be watched out for in other similar places.

Fixed. I did an audit and didn't find any others either for kernel_read
or kernel_write.