linux/tools/testing/selftests
Mathieu Desnoyers 2a1f40adfb rseq/selftests: Clarify rseq_prepare_unload() helper requirements
The rseq.h UAPI now documents that the rseq_cs field must be cleared
before reclaiming memory that contains the targeted struct rseq_cs, but
also that the rseq_cs field must be cleared before reclaiming memory of
the code pointed to by the rseq_cs start_ip and post_commit_offset
fields.

While we can expect that use of dlclose(3) will typically unmap
both struct rseq_cs and its associated code at once, nothing would
theoretically prevent a JIT from reclaiming the code without
reclaiming the struct rseq_cs, which would erroneously allow the
kernel to consider new code which is not a rseq critical section
as a rseq critical section following a code reclaim.

Suggested-by: Florian Weimer <fw@deneb.enyo.de>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Florian Weimer <fw@deneb.enyo.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: "Paul E. McKenney" <paulmck@linux.ibm.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: "H . Peter Anvin" <hpa@zytor.com>
Cc: Paul Turner <pjt@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2019-12-23 10:52:41 -07:00
..
android treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
arm64 kselftest: arm64: fix spelling mistake "contiguos" -> "contiguous" 2019-11-11 18:25:24 +00:00
bpf bpf: Add further test_verifier cases for record_func_key 2019-12-19 13:39:22 -08:00
breakpoints selftests: breakpoints: Fix a typo of function name 2019-11-07 14:27:26 -07:00
capabilities
cgroup kselftests: cgroup: Avoid the reuse of fd after it is deallocated 2019-11-12 07:33:59 -08:00
clone3 selftests/clone3: skip if clone3() is ENOSYS 2019-11-18 08:59:03 +01:00
cpu-hotplug
cpufreq
drivers selftests: mlxsw: Check devlink device before running test 2019-11-18 17:11:54 -08:00
efivarfs treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
exec treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 166 2019-05-30 11:26:39 -07:00
filesystems selftests: filesystems/epoll: fix build error 2019-12-23 10:52:40 -07:00
firmware selftests: firmware: Fix it to do root uid check and skip 2019-12-23 10:52:40 -07:00
ftrace selftests/ftrace: Fix multiple kprobe testcase 2019-12-09 10:53:04 -07:00
futex treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
gpio treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ia64 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
intel_pstate
ipc
ir media: selftests: ir: fix ir_loopback test failure 2019-08-14 05:06:25 -03:00
kcmp treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
kexec sefltest/ima: support appended signatures (modsig) 2019-08-29 12:45:30 -04:00
kmod selftests: kmod: Fix typo in kmod.sh 2019-07-23 10:45:06 -06:00
kselftest kselftest: Support old perl versions 2019-12-11 10:31:16 -07:00
kvm Merge branch 'kvm-tsx-ctrl' into HEAD 2019-11-21 12:03:40 +01:00
lib selftests: Move kselftest_module.sh into kselftest/ 2019-11-07 14:46:08 -07:00
livepatch selftests: livepatch: Fix it to do root uid check and skip 2019-12-23 10:52:40 -07:00
locking
media_tests
membarrier selftests, sched/membarrier: Add multi-threaded test 2019-09-25 17:42:31 +02:00
memfd memfd: add test for COW on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings 2019-12-01 12:59:03 -08:00
memory-hotplug
mount
mqueue
net selftests: pmtu: fix init mtu value in description 2019-12-20 21:52:21 -08:00
netfilter selftests: netfilter: use randomized netns names 2019-12-07 19:50:39 +01:00
networking/timestamping selftests: timestamping: Fix SIOCGSTAMP undeclared build failure 2019-06-28 14:31:12 -06:00
nsfs treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
ntb New feature to add support for NTB virtual MSI interrupts, the ability 2019-07-21 09:46:59 -07:00
pidfd test: verify fdinfo for pidfd of reaped process 2019-10-17 15:36:54 +02:00
powerpc selftests/powerpc: spectre_v2 test must be built 64-bit 2019-11-21 15:41:39 +11:00
prctl
proc selftests: proc: Make va_max 1MB 2019-11-07 14:52:57 -07:00
pstore treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 472 2019-06-19 17:09:11 +02:00
ptp ptp: Extend the test program to check the external time stamp flags. 2019-11-15 12:48:33 -08:00
ptrace selftests/ptrace: add a test case for PTRACE_GET_SYSCALL_INFO 2019-07-16 19:23:24 -07:00
rcutorture rcutorture: Remove CONFIG_HOTPLUG_CPU=n from scenarios 2019-10-05 11:49:13 -07:00
rseq rseq/selftests: Clarify rseq_prepare_unload() helper requirements 2019-12-23 10:52:41 -07:00
rtc selftests/kselftest/runner.sh: Add 45 second timeout per test 2019-10-01 13:33:28 -06:00
safesetid selftests: safesetid: Fix Makefile to set correct test program 2019-12-09 10:53:04 -07:00
seccomp seccomp updates for v5.5 2019-11-30 17:23:16 -08:00
sigaltstack treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
size treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 166 2019-05-30 11:26:39 -07:00
sparc64
splice
static_keys treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
sync selftests: sync: Fix cast warnings on arm 2019-11-07 14:54:37 -07:00
sysctl treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
tc-testing tc-testing: initial tdc selftests for cls_u32 2019-12-19 17:53:05 -08:00
timers kselftests: timers: freq-step: Update maximum acceptable precision and errors 2019-06-22 11:28:53 +02:00
tmpfs treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
tpm2 tpm: selftest: cleanup after unseal with wrong auth/policy test 2019-12-17 12:20:15 +02:00
uevent
user treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
vDSO treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 180 2019-05-30 11:29:20 -07:00
vm selftests: vm: add fragment CONFIG_TEST_VMALLOC 2019-12-01 12:59:05 -08:00
watchdog selftests: watchdog: Add command line option to show watchdog_info 2019-10-02 13:44:43 -06:00
x86 selftests/x86/single_step_syscall: Check SYSENTER directly 2019-11-26 21:53:34 +01:00
zram docs: blockdev: add it to the admin-guide 2019-07-15 11:03:01 -03:00
.gitignore selftests/tpm2: Add log and *.pyc to .gitignore 2019-09-25 02:43:51 +03:00
gen_kselftest_tar.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_harness.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 481 2019-06-19 17:09:51 +02:00
kselftest_install.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_module.h
kselftest.h kselftest: save-and-restore errno to allow for %m formatting 2019-07-30 15:46:48 -06:00
lib.mk kbuild: replace KBUILD_SRCTREE with boolean building_out_of_srctree 2019-07-11 00:05:09 +09:00
Makefile selftests: add epoll selftests 2019-12-04 19:44:13 -08:00