On Friday, 5 November 2021 11:25:57 PM AEDT Jason Gunthorpe wrote: > On Thu, Nov 04, 2021 at 12:20:01PM +1100, Alistair Popple wrote: > > hmm_range_fault() can be used instead of get_user_pages() for devices > > which allow faulting however unlike get_user_pages() it will return an > > error when used on a VM_MIXEDMAP range. > > > > To make hmm_range_fault() more closely match get_user_pages() remove > > this restriction. This requires dealing with the !ARCH_HAS_PTE_SPECIAL > > case in hmm_vma_handle_pte(). Rather than replicating the logic of > > vm_normal_page() call it directly and do a check for the zero pfn > > similar to what get_user_pages() currently does. > > > > Also add a test to hmm selftest to verify functionality. > > Please add a fixes line This has been the case since hmm_vma_get_pfns() was first introduced. Therefore the fixes line is: Fixes: da4c3c735ea4 ("mm/hmm/mirror: helper to snapshot CPU page table") Should I send a v2 adding that tag or does Andrew normally pick these up along with the Reviewed-by? Thanks. > > Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx> > > --- > > lib/test_hmm.c | 24 +++++++++++++++ > > mm/hmm.c | 5 +-- > > tools/testing/selftests/vm/hmm-tests.c | 42 ++++++++++++++++++++++++++ > > 3 files changed, 69 insertions(+), 2 deletions(-) > > Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > > Jason >