[RFC PATCH v2 1/3] mm/gup: fix gup_fast with dynamic page table folding
Linus Torvalds
torvalds at linux-foundation.org
Thu Sep 10 13:35:38 EDT 2020
On Thu, Sep 10, 2020 at 2:40 AM Alexander Gordeev
<agordeev at linux.ibm.com> wrote:
>
> It is only gup_fast case that exposes the issue. It hits because
> pointers to stack copies are passed to gup_pXd_range iterators, not
> pointers to real page tables itself.
Can we possibly change fast-gup to not do the stack copies?
I'd actually rather do something like that, than the "addr_end" thing.
As you say, none of the other page table walking code does what the
GUP code does, and I don't think it's required.
The GUP code is kind of strange, I'm not quite sure why. Some of it
unusually came from the powerpc code that handled their special odd
hugepage model, and that may be why it's so different.
How painful would it be to just pass the pmd (etc) _pointers_ around,
rather than do the odd "take the address of local copies"?
Linus
More information about the linux-arm-kernel
mailing list