Remove iov_iter_advance() from iter_read

There's no need to call iov_iter_advance() in zpl_iter_read().
This was preserved from the previous code where it wasn't needed
but also didn't cause any problems.  Now that the iter functions
also handle pipes that's no longer the case.  When fully reading a
pipe buffer iov_iter_advance() may results in the pipe buf release
function being called which will not be registered resulting in
a NULL dereference.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #11375 
Closes #11378
This commit is contained in:
Brian Behlendorf 2020-12-20 09:49:29 -08:00
parent 58bc86c5cb
commit 188950df9e

View File

@ -282,9 +282,6 @@ zpl_iter_read(struct kiocb *kiocb, struct iov_iter *to)
zpl_file_accessed(filp); zpl_file_accessed(filp);
if (read > 0)
iov_iter_advance(to, read);
return (read); return (read);
} }