• Peter Xu's avatar
    selftests/mm: uffd_[un]register() · c4277cb6
    Peter Xu authored
    Add two helpers to register/unregister to an uffd.  Use them to drop
    duplicate codes.
    
    This patch also drops assert_expected_ioctls_present() and
    get_expected_ioctls().  Reasons:
    
      - It'll need a lot of effort to pass test_type==HUGETLB into it from
        the upper, so it's the simplest way to get rid of another global var
    
      - The ioctls returned in UFFDIO_REGISTER is hardly useful at all,
        because any app can already detect kernel support on any ioctl via its
        corresponding UFFD_FEATURE_*.  The check here is for sanity mostly but
        it's probably destined no user app will even use it.
    
      - It's not friendly to one future goal of uffd to run on old
        kernels, the problem is get_expected_ioctls() compiles against
        UFFD_API_RANGE_IOCTLS, which is a value that can change depending on
        where the test is compiled, rather than reflecting what the kernel
        underneath has.  It means it'll report false negatives on old kernels
        so it's against our will.
    
    So let's make our lives easier.
    
    [peterx@redhat.com; tools/testing/selftests/mm/hugepage-mremap.c: add headers]
      Link: https://lkml.kernel.org/r/ZDxrvZh/cw357D8P@x1n
    Link: https://lkml.kernel.org/r/20230412164247.328293-1-peterx@redhat.comSigned-off-by: default avatarPeter Xu <peterx@redhat.com>
    Reviewed-by: default avatarAxel Rasmussen <axelrasmussen@google.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Dmitry Safonov <0x7f454c46@gmail.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Mike Rapoport (IBM) <rppt@kernel.org>
    Cc: Zach O'Keefe <zokeefe@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    c4277cb6
uffd-common.c 15.5 KB