On Sat, Mar 21, 2020 at 09:38:04AM -0300, Jason Gunthorpe wrote:
> > I don't think there is any specific protection. Let me see if we
> > can throw in a get_dev_pagemap here
>
> The page tables are RCU protected right? could we do something like
>
> if (is_device_private_entry()) {
> rcu_read_lock()
> if (READ_ONCE(*ptep) != pte)
> return -EBUSY;
> hmm_is_device_private_entry()
> rcu_read_unlock()
> }
>
> ?
Are they everywhere? I'd really love to hear from people that really
know this ara..
>
> Then pgmap needs a synchronize_rcu before the struct page's are
> destroyed (possibly gup_fast already requires this?)
>
> I've got some other patches trying to close some of these styles of
> bugs, but
>
> > note that current mainline doesn't even use it for this path..
>
> Don't follow?
If you look at mainline (or any other tree), we only do a
get_dev_pagemap for devmap ptes. But device private pages are encoded
as non-present swap ptes.
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx