twx-linux/tools/testing/selftests
Michal Luczaj a51abbbf25 KVM: selftests: Add tests in xen_shinfo_test to detect lock races
Tests for races between shinfo_cache (de)activation and hypercall+ioctl()
processing.  KVM has had bugs where activating the shared info cache
multiple times and/or with concurrent users results in lock corruption,
NULL pointer dereferences, and other fun.

For the timer injection testcase (#22), re-arm the timer until the IRQ
is successfully injected.  If the timer expires while the shared info
is deactivated (invalid), KVM will drop the event.

Signed-off-by: Michal Luczaj <mhal@rbox.co>
Co-developed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20221013211234.1318131-16-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-10-28 06:10:27 -04:00
..
alsa selftests: alsa: Handle pkg-config failure more gracefully 2022-05-31 18:02:18 +02:00
amd-pstate cpufreq: amd-pstate: Add explanation for X86_AMD_PSTATE_UT 2022-10-05 11:05:18 -06:00
arm64 Merge branch 'for-next/kselftest' into for-next/core 2022-09-30 09:18:11 +01:00
bpf Networking changes for 6.1. 2022-10-04 13:38:03 -07:00
breakpoints
capabilities
cgroup - Yu Zhao's Multi-Gen LRU patches are here. They've been under test in 2022-10-10 17:53:04 -07:00
clone3
core
cpu-hotplug selftests/cpu-hotplug: Add log info when test success 2022-10-05 11:05:18 -06:00
cpufreq
damon selftest/damon: add a test for duplicate context dirs creation 2022-10-03 14:03:06 -07:00
dma selftests dma: fix compile error for dma_map_benchmark 2022-06-16 14:03:21 -06:00
dmabuf-heaps
drivers selftests: net: tsn_lib: run phc2sys in automatic mode 2022-09-26 13:22:01 -07:00
efivarfs
exec
filesystems Updates to various subsystems which I help look after. lib, ocfs2, 2022-08-07 10:03:24 -07:00
firmware selftests: firmware: Add firmware upload selftests 2022-04-29 16:49:36 +02:00
fpu
ftrace linux-kselftest-next-6.1-rc1-2 2022-10-12 14:59:13 -07:00
futex Linux 6.0-rc6 2022-09-21 09:58:02 +02:00
gpio selftests: gpio: fix include path to kernel headers for out of tree builds 2022-07-20 14:35:18 +02:00
ia64
intel_pstate
ipc
ir kselftests/ir : Improve readability of modprobe error message 2022-05-16 13:34:19 -06:00
kcmp selftests/kcmp: Make the test output consistent and clear 2022-07-08 10:55:43 -06:00
kexec selftests/kexec: remove broken EFI_VARS secure boot fallback check 2022-06-24 10:19:22 +02:00
kmod
kselftest
kvm KVM: selftests: Add tests in xen_shinfo_test to detect lock races 2022-10-28 06:10:27 -04:00
landlock selftests/landlock: Fix out-of-tree builds 2022-09-14 16:37:38 +02:00
lib
livepatch Merge branch 'for-6.1/sysfs-patched-object' into for-linus 2022-10-05 13:00:03 +02:00
lkdtm lkdtm: Update tests for memcpy() run-time warnings 2022-09-07 16:37:27 -07:00
locking
media_tests
membarrier
memfd
memory-hotplug selftests/memory-hotplug: Adjust log info for maintainability 2022-10-07 10:32:10 -06:00
mincore
mount
mount_setattr
move_mount_set_group
mqueue selftests: mqueue: drop duplicate min definition 2022-04-19 19:28:47 -06:00
nci
net Including fixes from netfilter, and wifi. 2022-10-13 10:51:01 -07:00
netfilter selftests: netfilter: Fix nft_fib.sh for all.rp_filter=1 2022-10-12 14:08:15 +02:00
nolibc selftests/nolibc: Avoid generated files being committed 2022-08-31 05:17:45 -07:00
nsfs
ntb
openat2
perf_events
pid_namespace
pidfd
powerpc selftests/powerpc: Update bhrb filter sampling test for multiple branch filters 2022-09-28 19:22:13 +10:00
prctl
proc proc: test how it holds up with mapping'less process 2022-10-11 18:51:11 -07:00
pstore
ptp
ptrace
rcutorture torture: Create kvm-check-branches.sh output in proper location 2022-06-21 15:57:04 -07:00
resctrl selftests/resctrl: Fix null pointer dereference on open failed 2022-04-26 09:20:00 -06:00
rlimits
rseq selftests/rseq: check if libc rseq support is registered 2022-06-28 09:08:28 +02:00
rtc
safesetid LSM: SafeSetID: add setgroups() testing to selftest 2022-07-15 18:24:42 +00:00
sched
seccomp selftests/seccomp: Fix compile warning when CC=clang 2022-07-27 12:12:16 -07:00
sgx selftests/sgx: Ignore OpenSSL 3.0 deprecated functions warning 2022-08-15 16:50:07 -06:00
sigaltstack
size
sparc64
splice
static_keys
sync remove CONFIG_ANDROID 2022-07-01 10:41:09 +02:00
syscall_user_dispatch
sysctl selftests/sysctl: add sysctl macro test 2022-05-03 10:15:07 +02:00
tc-testing selftests/tc-testing: update qdisc/cls/action features in config 2022-09-30 18:41:35 -07:00
timens Revert "selftests/timens: add a test for vfork+exit" 2022-09-13 10:38:43 -07:00
timers selftests: timers: clocksource-switch: adapt to kselftest framework 2022-07-14 14:36:52 -06:00
tmpfs
tpm2 selftest: tpm2: Add Client.__del__() to close /dev/tpm* handle 2022-10-05 00:25:56 +03:00
uevent
user
user_events tracing/user_events: Use bits vs bytes for enabled status page data 2022-09-29 10:17:37 -04:00
vDSO
vm - Alistair Popple has a series which addresses a race which causes page 2022-10-14 12:28:43 -07:00
watchdog
wireguard wireguard: selftests: do not install headers on UML 2022-09-20 11:26:14 -07:00
x86 selftests/x86/corrupt_xstate_header: Use provided __cpuid_count() macro 2022-04-25 15:13:03 -06:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest_deps.sh selftests: Make the usage formatting consistent in kselftest_deps.sh 2022-06-27 14:14:27 -06:00
kselftest_harness.h
kselftest_install.sh
kselftest_module.h selftest: Taint kernel when test module loaded 2022-07-11 16:58:11 -06:00
kselftest.h selftests: Provide local define of __cpuid_count() 2022-04-25 15:12:36 -06:00
lib.mk selftests/landlock: Fix out-of-tree builds 2022-09-14 16:37:38 +02:00
Makefile linux-kselftest-next-6.1-rc1 2022-10-06 12:53:15 -07:00
run_kselftest.sh