linux/tools/testing/selftests
Reinette Chatre 08ceab2c37 selftests/sgx: Test reclaiming of untouched page
Removing a page from an initialized enclave involves three steps:
(1) the user requests changing the page type to PT_TRIM via the
    SGX_IOC_ENCLAVE_MODIFY_TYPES ioctl()
(2) on success the ENCLU[EACCEPT] instruction is run from within
    the enclave to accept the page removal
(3) the user initiates the actual removal of the page via the
    SGX_IOC_ENCLAVE_REMOVE_PAGES ioctl().

Remove a page that has never been accessed. This means that when the
first ioctl() requesting page removal arrives, there will be no page
table entry, yet a valid page table entry needs to exist for the
ENCLU[EACCEPT] function to succeed. In this test it is verified that
a page table entry can still be installed for a page that is in the
process of being removed.

Suggested-by: Haitao Huang <haitao.huang@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
Link: https://lkml.kernel.org/r/45e1b2a2fcd8c14597d04e40af5d8a9c1c5b017e.1652137848.git.reinette.chatre@intel.com
2022-07-07 10:13:05 -07:00
..
alsa kselftest: alsa: fix spelling mistake "desciptor" -> "descriptor" 2022-02-08 08:24:42 +01:00
arm64 kselftest/arm64: Log the PIDs of the parent and child in sve-ptrace 2022-03-07 21:46:57 +00:00
bpf bpf: Adjust bpf_tcp_check_syncookie selftest to test dual-stack sockets 2022-04-06 09:44:45 -07:00
breakpoints
capabilities
cgroup selftests: memcg: test high limit for single entry allocation 2022-03-22 15:57:02 -07:00
clone3 selftests: fixup build warnings in pidfd / clone3 tests 2022-02-04 13:07:07 -07:00
core selftests/core: remove ARRAY_SIZE define from close_range_test.c 2021-12-10 17:50:38 -07:00
cpu-hotplug
cpufreq selftests: cpufreq: Write test output to stdout as well 2022-01-25 13:20:03 -07:00
damon selftests/damon: add a test for DAMON sysfs interface 2022-03-22 15:57:13 -07:00
dma dma-mapping: benchmark: extract a common header file for map_benchmark definition 2022-03-10 07:41:14 +01:00
dmabuf-heaps
drivers selftests: ocelot: tc_flower_chains: specify conform-exceed action for policer 2022-05-04 19:40:19 -07:00
efivarfs
exec linux-kselftest-next-5.18-rc1 2022-03-23 12:53:00 -07:00
filesystems
firmware
fpu
ftrace selftests/ftrace: Do not trace do_softirq because of PREEMPT_RT 2022-02-14 13:28:17 -07:00
futex selftests: futex: Add the uapi headers include variable 2022-02-23 17:20:32 -07:00
gpio gpio updates for v5.17 2022-01-11 12:31:35 -08:00
ia64
intel_pstate
ipc
ir selftests/ir: fix build with ancient kernel headers 2022-02-04 13:14:41 -07:00
kcmp
kexec selftests/kexec: Enable secureboot tests for PowerPC 2022-01-05 11:44:57 -05:00
kmod
kselftest selftests/kselftest/runner.sh: Pass optional command parameters in environment 2022-02-23 17:14:36 -07:00
kvm kvm: selftests: introduce and use more page size-related constants 2022-04-21 15:41:01 -04:00
landlock selftests: landlock: Add the uapi headers include variable 2022-02-23 17:20:47 -07:00
lib
livepatch livepatch: Skip livepatch tests if ftrace cannot be configured 2022-02-23 16:42:00 +01:00
lkdtm powerpc updates for 5.18 2022-03-25 09:39:36 -07:00
locking
media_tests
membarrier
memfd selftests/memfd: clean up mapping in mfd_fail_write 2022-02-26 09:51:17 -08:00
memory-hotplug mm/memory_hotplug: remove CONFIG_MEMORY_HOTPLUG_SPARSE 2021-11-06 13:30:42 -07:00
mincore selftests: skip mincore.check_file_mmap when fs lacks needed support 2022-01-27 16:40:45 -07:00
mount selftests/mount: remove unneeded conversion to bool 2021-12-10 16:46:01 -07:00
mount_setattr tests: fix idmapped mount_setattr test 2022-02-11 09:08:20 +01:00
move_mount_set_group selftests/move_mount_set_group remove unneeded conversion to bool 2021-12-10 16:46:01 -07:00
mqueue testing/selftests/mqueue: Fix mq_perf_tests to free the allocated cpu set 2022-04-12 13:54:49 -06:00
nci
net selftests net: add UDP GRO fraglist + bpf self-tests 2022-05-09 10:48:49 +01:00
netfilter linux-kselftest-next-5.18-rc1 2022-03-23 12:53:00 -07:00
nsfs
ntb
openat2 selftests: openat2: Skip testcases that fail with EOPNOTSUPP 2022-01-27 16:31:07 -07:00
perf_events selftests/perf_events: Test modification of perf_event_attr::sig_data 2022-02-02 13:11:40 +01:00
pid_namespace selftests: fix header dependency for pid_namespace selftests 2022-04-04 13:32:31 -06:00
pidfd selftests: fix an unused variable warning in pidfd selftest 2022-04-04 13:32:53 -06:00
powerpc selftest/powerpc: Add PAPR sysfs attributes sniff test 2022-03-08 00:05:00 +11:00
prctl
proc selftests/proc: fix array_size.cocci warning 2022-04-04 13:27:21 -06:00
pstore
ptp testptp: add option to shift clock by nanoseconds 2022-02-22 17:03:40 -08:00
ptrace
rcutorture rcutorture: Provide non-power-of-two Tasks RCU scenarios 2022-02-08 11:19:15 -08:00
resctrl
rlimits
rseq RISC-V Patches for the 5.18 Merge Window, Part 1 2022-03-25 10:11:38 -07:00
rtc selftests/rtc: continuously read RTC in a loop for 30s 2022-02-25 17:00:51 -07:00
safesetid
sched
seccomp selftests/seccomp: Don't call read() on TTY from background pgrp 2022-04-29 11:28:41 -07:00
sgx selftests/sgx: Test reclaiming of untouched page 2022-07-07 10:13:05 -07:00
sigaltstack
size
sparc64 selftests/sparc64: remove ARRAY_SIZE define from adi-test 2021-12-10 17:51:15 -07:00
splice
static_keys
sync
syscall_user_dispatch
sysctl
tc-testing selftests: tc-testing: Increase timeout in tdc config file 2022-03-14 10:27:52 +00:00
timens selftests/timens: remove ARRAY_SIZE define from individual tests 2021-12-10 17:51:20 -07:00
timers selftests: timers: Remove unneeded semicolon 2021-12-10 16:46:00 -07:00
tmpfs
tpm2 selftests: tpm: add async space test with noneexisting handle 2022-03-08 10:33:17 +02:00
uevent
user
user_events user_events: Add self-test for validator boundaries 2022-02-10 22:38:08 -05:00
vDSO selftests/vDSO: fix array_size.cocci warning 2022-04-04 13:27:11 -06:00
vm selftests: vm: Makefile: rename TARGETS to VMTARGETS 2022-05-09 17:34:29 -07:00
watchdog
wireguard wireguard: selftests: set panic_on_warn=1 from cmdline 2022-05-04 17:49:57 -07:00
x86 selftests: x86: add 32bit build warnings for SUSE 2022-04-04 13:29:43 -06:00
zram selftests/zram: Adapt the situation that /dev/zram0 is being used 2022-01-27 10:59:02 -07:00
.gitignore selftests: add kselftest_install to .gitignore 2022-03-03 15:16:57 -07:00
gen_kselftest_tar.sh
kselftest_deps.sh
kselftest_harness.h selftests/harness: Pass variant to teardown 2022-04-04 13:37:48 -06:00
kselftest_install.sh
kselftest_module.h
kselftest.h selftests: kselftest framework: provide "finished" helper 2022-03-24 19:06:51 -07:00
lib.mk kbuild: Make $(LLVM) more flexible 2022-03-31 12:03:46 +09:00
Makefile selftests: Fix build when $(O) points to a relative path 2022-03-03 15:18:13 -07:00
run_kselftest.sh