Thread (34 messages) 34 messages, 6 authors, 2021-11-29

Re: [PATCH 3/3] btrfs: Avoid live-lock in search_ioctl() on hardware with sub-page faults

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2021-11-29 22:13:33
Also in: linux-arm-kernel, linux-fsdevel, lkml

On Mon, Nov 29, 2021 at 12:56 PM Catalin Marinas
[off-list ref] wrote:
For arm64 at least __put_user() does the access_ok() check. I thought
only unsafe_put_user() should skip the checks. If __put_user() can write
arbitrary memory, we may have a bigger problem.
That's literally be the historical difference between __put_user() and
put_user() - the access check.
I think that would be useful, though it doesn't solve the potential
livelock with sub-page faults.
I was assuming we'd just do the sub-page faults.

In fact, I was assuming we'd basically just replace all the PAGE_ALIGN
and PAGE_SIZE with SUBPAGE_{ALIGN,SIZE}, together with something like

        if (size > PAGE_SIZE)
                size = PAGE_SIZE;

to limit that size thing (or possibly make that "min size" be a
parameter, so that people who have things like that "I need at least
this initial structure to be copied" issue can document their minimum
size needs).

            Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help