[PATCH 3/3] btrfs: Avoid live-lock in search_ioctl() on hardware with sub-page faults
Linus Torvalds
torvalds at linux-foundation.org
Wed Nov 24 15:00:00 PST 2021
Catalin talked about the other change, but this part:
On Wed, Nov 24, 2021 at 12:04 PM Matthew Wilcox <willy at 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
More information about the linux-arm-kernel
mailing list