github linux-test-project/ltp 20170929
LTP 20170929

latest releases: 20240524, 20240129, 20230929...
7 years ago

Since the last release 290 patches by 39 authors were merged.

Notable changes for this release include:

  • New tests for:

    • copy_file_range()
    • splice() between pipes and sockets
    • splice() between two pipes
    • clone() with CLONE_NEWNET
    • msync() with mmaped file
    • getsockopt() with SO_PEERCRED
    • fanotify() with FAN_CLOEXEC
    • dynamic_debug tracing
    • basic gdb test
    • combination of OFD and POSIX locks on a file
  • New regression tests for:

    • fanotify() 96d41019e3ac and 05f0e38724e8
    • add_key() 5649645d725c
    • fcntl() 086e774a57fb
    • sched/autogroup 18f649ef3441
    • memcg https://bugzilla.redhat.com/show_bug.cgi?id=1168185
    • vdso permissions b6558c4a2378 and e5b97dde514f
    • keyctl() 63a0b0509e70
    • numa MPOL_PREFERRED policy 0867a57c
  • Removed tests:

    • long broken dmapi testsuite
  • 66 testcases were cleaned up and converted to the new test library

  • KSM (kernel samepage merging) test should be race-free now

  • So far if only small part of a test reported skipped status the overall
    test status was reported as skipped as well. Now if test reports both
    sucessful and skipped results the overall status is reported as suscessful.

  • Timer mesurement library code was introduced

    • all syscalls that use kernel timers are measured in a unified way
    • we take much more samples and use discarded mean to get rid of outliners
    • the threshold is now defined in the library and can be easily adjusted
    • for more information see:
      c459654
  • Also effort to convert CVE reproducers into LTP testcases started to gain momentum

    • It starts by introducing thread synchronization library that auto-tunes a
      spin-in-a-place delay so that we execute two critical sections of code at
      the same time, which makes tests based on races much more faster and
      stable in reproducing the bugs.

    • So far implemented CVE tests include:

      • CVE-2011-0999 transparent hugepages used wrongly for args/env
      • CVE-2011-2183 NULL pointer dereference in ksm_do_scan()
      • CVE-2011-2496 address overflow in mremap()
      • CVE-2012-0957 uname26 memory leak
      • CVE-2014-0196 PTY echo race
      • CVE-2015-0235 buffer overflow in gethostbyname_r()
      • CVE-2015-7550 race between keyctl_read() and keyctl_revoke()
      • CVE-2016-4470 uninitialized variable in key_reject_and_link()
      • CVE-2016-5195 aka dirtyc0w
      • CVE-2016-7042 crash in /proc/keys show function
      • CVE-2016-7117 use after free between recvmmsg() and close()
      • CVE-2016-10044 mark AIO pseudo-fs noexec
      • CVE-2017-2618 off-by-one in setprocattr
      • CVE-2017-2671 missing rwlock in ping_unhashed()
      • CVE-2017-5669 NULL page mapped with shmat() and SHM_RND
      • CVE-2017-6951 NULL dereference in request_key()
      • CVE-2017-7472 thread keyring memory leak
      • CVE-2017-1000364 aka stack_clash

      Note that a few of the testcases were implemented in the previous
      release as well but these were not counted as CVE related.

  • The ltp-pan testrunner that executes LTP testcases marks test start in kernel
    log, which helps with pairing LTP testcase with a kernel trace.

  • There is new step-by-step C test tutorial at:
    https://github.com/linux-test-project/ltp/wiki/C-Test-Case-Tutorial

  • A few EROFS related testcases now use read-only tmpfs instead of the loopback
    based device, which saves up to half of a minute of runtime per such testcase.
    The rest of such testcases will be converted after the release.

  • The nfsv4 locktest source has been translated from French.

  • Many fixes in numa testcases.

  • Many fixes in network testcases.

  • The usuall amount of fixes all over the codebase

Don't miss a new ltp release

NewReleases is sending notifications on new releases.