Catalin talked about the other change, but this part: On Wed, Nov 24, 2021 at 12:04 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > (where __copy_to_user_nofault() is a new function that does exactly what > copy_to_user_nofault() does, but returns the number of bytes copied) If we want the "how many bytes" part, then we should just make copy_to_user_nofault() have the same semantics as a plain copy_to_user(). IOW, change it to return "number of bytes not copied". Lookin gat the current uses, such a change would be trivial. The only case that wants a 0/-EFAULT error is the bpf_probe_write_user(), everybody else already just wants "zero for success", so changing copy_to_user_nofault() would be trivial. And it really is odd and very non-intuitive that copy_to_user_nofault() has a completely different return value from copy_to_user(). So if _anybody_ wants a byte-count, that should just be fixed. Linus