clean up kernel_{read,write} & friends v2

From: Christoph Hellwig
Date: Wed May 13 2020 - 02:57:02 EST


Hi Al,

this series fixes a few issues and cleans up the helpers that read from
or write to kernel space buffers, and ensures that we don't change the
address limit if we are using the ->read_iter and ->write_iter methods
that don't need the changed address limit.

Changes since v1:
- __kernel_write must not take sb_writers
- unexported __kernel_write