Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 24 Nov 2021 15:00:00 -0800 | Subject | Re: [PATCH 3/3] btrfs: Avoid live-lock in search_ioctl() on hardware with sub-page faults |
| |
Catalin talked about the other change, but this part:
On Wed, Nov 24, 2021 at 12:04 PM Matthew Wilcox <willy@infradead.org> 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
| |