Re: [PATCH v3 1/1] selftests: vm: add process_mrelease tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/18/22 2:43 PM, Suren Baghdasaryan wrote:
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

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
Changes in v3:
- Applied on git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm mm-stable,
per Andrew
- Fixed formatting for sample outputs in the description, per Shuah
- Removed pidfd_open, process_mrelease, write_fault_pages functions, per Shuah
- Moved child main routine into its own function, per Shuah
- Followed tools/testing/selftests/pidfd/pidfd.h as a model to deal with
undefined syscall numbers, per Shuah


Looks good to me Suren. Thank you.

Reviewed-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>

thanks,
-- Shuah




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux