linux/tools/testing/selftests
Benjamin Tissoires ae7487d112 selftests/hid: ensure we can compile the tests on kernels pre-6.3
For the hid-bpf tests to compile, we need to have the definition of
struct hid_bpf_ctx. This definition is an internal one from the kernel
and it is supposed to be defined in the generated vmlinux.h.

This vmlinux.h header is generated based on the currently running kernel
or if the kernel was already compiled in the tree. If you just compile
the selftests without compiling the kernel beforehand and you are running
on a 6.2 kernel, you'll end up with a vmlinux.h without the hid_bpf_ctx
definition.

Use the clever trick from tools/testing/selftests/bpf/progs/bpf_iter.h
to force the definition of that symbol in case we don't find it in the
BTF and also add __attribute__((preserve_access_index)) to further
support CO-RE functionality for these tests.

Signed-off-by: Justin Stitt <justinstitt@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com> # Build
Tested-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20230825-wip-selftests-v3-1-639963c54109@kernel.org
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
2023-10-11 14:02:54 +02:00
..
alsa selftests: ALSA: remove unused variables 2023-09-11 08:20:52 +02:00
amd-pstate linux-kselftest-next-6.4-rc1 2023-04-24 12:28:34 -07:00
arm64 Merge branch 'for-next/selftests' into for-next/core 2023-08-25 12:36:57 +01:00
bpf selftest/bpf: Add various selftests for program limits 2023-09-29 16:07:59 -07:00
breakpoints
cachestat linux-kselftest-next-6.6-rc1 2023-08-28 18:46:47 -07:00
capabilities
cgroup cgroup: Changes for v6.6 2023-09-01 15:58:21 -07:00
clone3 selftests/clone3: test clone3 with exit signal in flags 2023-06-12 16:39:11 -06:00
connector selftests: connector: Fix input argument error paths to skip 2023-07-31 20:11:42 -07:00
core selftests: core: Fix incorrect kernel headers search path 2023-01-30 15:04:52 -07:00
cpu-hotplug
cpufreq selftests/cpufreq: Don't enable generic lock debugging options 2023-06-12 16:39:11 -06:00
damon selftests/damon/sysfs: test damon_target filter 2023-08-21 13:37:37 -07:00
dma
dmabuf-heaps selftests: dmabuf-heaps: Fix incorrect kernel headers search path 2023-02-13 09:09:44 -07:00
drivers selftests: bonding: create directly devices in the target namespaces 2023-08-28 10:24:08 +01:00
efivarfs
exec
fchmodat2 selftests: link libasan statically for tests with -fsanitize=address 2023-09-19 13:21:32 -07:00
filelock selftests: add OFD lock tests 2023-08-24 10:41:47 -04:00
filesystems selftests/filesystems: Add six consecutive 'x' characters to mktemp 2023-08-16 10:10:39 -06:00
firmware
fpu
ftrace linux-kselftest-fixes-6.6-rc2 2023-09-15 19:22:20 -07:00
futex selftests/futex: Order calls to futex_lock_pi 2023-08-16 10:48:10 -06:00
gpio gpio updates for v6.5 2023-06-29 10:11:10 -07:00
hid selftests/hid: ensure we can compile the tests on kernels pre-6.3 2023-10-11 14:02:54 +02:00
ia64
intel_pstate
iommu iommufd/selftest: Add coverage for IOMMU_GET_HW_INFO ioctl 2023-08-18 12:52:15 -03:00
ipc selftests: ipc: Fix incorrect kernel headers search path 2023-02-13 09:09:44 -07:00
ir
kcmp selftests: kcmp: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
kexec
kmod
kselftest linux-kselftest-next-6.6-rc2 2023-09-12 09:10:36 -07:00
kvm KVM/riscv fixes for 6.6, take #1 2023-09-23 05:35:55 -04:00
landlock selftests/landlock: Fix a resource leak 2023-08-30 18:53:08 +02:00
lib
livepatch
lkdtm
locking
media_tests selftests: media_tests: Add new subtest to video_device_test 2023-06-12 16:39:10 -06:00
membarrier linux-kselftest-next-6.3-rc1 2023-02-23 09:37:29 -08:00
memfd selftests: improve vm.memfd_noexec sysctl tests 2023-08-21 13:38:00 -07:00
memory-hotplug
mincore selftests/mincore: fix skip condition for check_huge_pages test 2023-07-13 12:51:13 -06:00
mm selftests/mm: fix awk usage in charge_reserved_hugetlb.sh and hugetlb_reparenting_test.sh that may cause error 2023-09-29 17:20:48 -07:00
mount
mount_setattr selftests mount: Fix mount_setattr_test builds failed 2023-03-31 09:18:45 -06:00
move_mount_set_group selftests: move_mount_set_group: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
mqueue
nci
net selftests: hsr: Extend the testsuite to also cover HSRv1. 2023-09-18 08:26:19 +01:00
netfilter netfilter: nf_tables: Deduplicate nft_register_obj audit logs 2023-10-04 15:57:06 +02:00
nolibc linux-kselftest-nolibc-6.6-rc1 2023-08-28 19:03:24 -07:00
nsfs
ntb
openat2 selftests: link libasan statically for tests with -fsanitize=address 2023-09-19 13:21:32 -07:00
perf_events selftests: perf_events: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
pid_namespace selftests: pid_namespace: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
pidfd selftest: pidfd: Omit long and repeating outputs 2023-06-12 16:39:11 -06:00
powerpc selftests/powerpc: Fix emit_tests to work with run_kselftest.sh 2023-09-22 20:29:48 +10:00
prctl selftests:prctl: add set-process-name to .gitignore 2023-07-25 10:33:25 -06:00
proc selftests/proc: fixup proc-empty-vm test after KSM changes 2023-09-19 13:21:33 -07:00
pstore
ptp selftests/ptp: Add -X option for testing PTP_SYS_OFFSET_PRECISE 2023-07-28 10:59:40 +01:00
ptrace Update for entry and ptrace: 2023-04-25 11:05:04 -07:00
rcutorture smp_call_function torture-test updates for v6.6 2023-08-28 13:42:29 -07:00
resctrl selftests/resctrl: Remove test type checks from cat_val() 2023-07-25 08:54:11 -06:00
riscv RISC-V Patches for the 6.6 Merge Window, Part 1 2023-09-01 08:09:48 -07:00
rlimits
rseq linux-kselftest-next-6.6-rc1 2023-08-28 18:46:47 -07:00
rtc
safesetid
sched selftests: sched: Add more core schedule prctl calls 2023-03-28 10:27:07 -06:00
seccomp selftests/seccomp: Handle arm32 corner cases better 2023-08-10 13:26:19 -07:00
sgx selftests/sgx: Add "test_encl.elf" to TEST_FILES 2023-05-08 11:01:03 -06:00
sigaltstack selftests: sigaltstack: fix -Wuninitialized 2023-03-20 17:28:31 -06:00
size
sparc64
splice
static_keys
sync selftests: sync: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
syscall_user_dispatch
sysctl test_sysclt: Test for registering a mount point 2023-06-18 02:32:54 -07:00
tc-testing selftests/tc-testing: verify that a qdisc can be grafted onto a taprio class 2023-08-09 15:59:21 -07:00
tdx selftests: tdx: Use installed kernel headers search path 2023-02-13 09:09:46 -07:00
timens
timers tools: timers: fix freq average calculation 2023-07-13 13:32:36 -06:00
tmpfs
tpm2 selftests: tpm2: remove redundant ord() 2023-02-13 09:09:46 -07:00
tty selftests: tty: add selftest for tty timestamp updates 2023-06-15 13:45:42 +02:00
uevent
user
user_events selftests/user_events: Fix to unmount tracefs when test created mount 2023-09-18 11:04:52 -06:00
vDSO kselftest: vDSO: Fix accumulation of uninitialized ret when CLOCK_REALTIME is undefined 2023-06-12 16:39:10 -06:00
watchdog
wireguard treewide: drop CONFIG_EMBEDDED 2023-08-21 13:46:25 -07:00
x86 selftests/x86: Update map_shadow_stack syscall nr 2023-09-01 23:34:13 +02:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest_deps.sh selftests: fix dependency checker script 2023-09-08 10:06:49 -06:00
kselftest_harness.h selftests/harness: Actually report SKIP for signal tests 2023-08-10 23:10:09 -07:00
kselftest_install.sh
kselftest_module.h
kselftest.h selftests: line buffer test program's stdout 2023-08-18 10:12:42 -07:00
lib.mk selftests: Keep symlinks, when possible 2023-09-08 10:06:56 -06:00
Makefile selftests: Fix wrong TARGET in kselftest top level Makefile 2023-09-26 18:47:37 -06:00
run_kselftest.sh kselftests: Sort the collections list to avoid duplicate tests 2023-06-12 16:39:11 -06:00