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