On Wed, Jun 24, 2020 at 9:29 AM Christoph Hellwig <hch@xxxxxx> wrote: > > Add two new file operations that are identical to ->read and ->write > except that they can also safely take kernel pointers using the uptr_t > type. Honestly, I think this is the wrong way to go. All of this new complexity and messiness, just to remove a few unimportant final cases? If somebody can't be bothered to convert a driver to iter_read/iter_write, why would they be bothered to convert it to read_uptr/write_uptr? And this messiness will stay around for decades. So let's not go down that path. If you want to do "splice() and kernel_read() requires read_iter" (with a warning so that we find any cases), then that's fine. But let's not add yet _another_ read type. Why did you care so much about sysctl, and why couldn't they use the iter ops? Linus