• Suren Baghdasaryan's avatar
    selftests: vm: add process_mrelease tests · 33776141
    Suren Baghdasaryan authored
    Introduce process_mrelease syscall sanity tests which include tests
    which expect to fail:
    
    - process_mrelease with invalid pidfd and flags inputs
    - process_mrelease on a live process with no pending signals
    
    and valid process_mrelease usage which is expected to succeed.  Because
    process_mrelease has to be used against a process with a pending SIGKILL,
    it's possible that the process exits before process_mrelease gets called. 
    In such cases we retry the test with a victim that allocates twice more
    memory up to 1GB.  This would require the victim process to spend more
    time during exit and process_mrelease has a better chance of catching the
    process before it exits and succeeding.
    
    On success the test reports the amount of memory the child had to allocate
    for reaping to succeed.  Sample output:
    
    $ mrelease_test
    Success reaping a child with 1MB of memory allocations
    
    On failure the test reports the failure. Sample outputs:
    
    $ mrelease_test
    All process_mrelease attempts failed!
    
    $ mrelease_test
    process_mrelease: Invalid argument
    
    Link: https://lkml.kernel.org/r/20220518204316.13131-1-surenb@google.comSigned-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
    Reviewed-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    Acked-by: default avatarChristian Brauner (Microsoft) <brauner@kernel.org>
    Reviewed-by: default avatarMuhammad Usama Anjum <usama.anjum@collabora.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Roman Gushchin <guro@fb.com>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: "Kirill A . Shutemov" <kirill@shutemov.name>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Jann Horn <jannh@google.com>
    Cc: Shakeel Butt <shakeelb@google.com>
    Cc: Peter Xu <peterx@redhat.com>
    Cc: John Hubbard <jhubbard@nvidia.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    33776141
run_vmtests.sh 4.53 KB