linux-stable/tools/testing/selftests
Roberto Sassu cd3cec0a02 ima: Move to LSM infrastructure
Move hardcoded IMA function calls (not appraisal-specific functions) from
various places in the kernel to the LSM infrastructure, by introducing a
new LSM named 'ima' (at the end of the LSM list and always enabled like
'integrity').

Having IMA before EVM in the Makefile is sufficient to preserve the
relative order of the new 'ima' LSM in respect to the upcoming 'evm' LSM,
and thus the order of IMA and EVM function calls as when they were
hardcoded.

Make moved functions as static (except ima_post_key_create_or_update(),
which is not in ima_main.c), and register them as implementation of the
respective hooks in the new function init_ima_lsm().

Select CONFIG_SECURITY_PATH, to ensure that the path-based LSM hook
path_post_mknod is always available and ima_post_path_mknod() is always
executed to mark files as new, as before the move.

A slight difference is that IMA and EVM functions registered for the
inode_post_setattr, inode_post_removexattr, path_post_mknod,
inode_post_create_tmpfile, inode_post_set_acl and inode_post_remove_acl
won't be executed for private inodes. Since those inodes are supposed to be
fs-internal, they should not be of interest to IMA or EVM. The S_PRIVATE
flag is used for anonymous inodes, hugetlbfs, reiserfs xattrs, XFS scrub
and kernel-internal tmpfs files.

Conditionally register ima_post_key_create_or_update() if
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS is enabled. Also, conditionally register
ima_kernel_module_request() if CONFIG_INTEGRITY_ASYMMETRIC_KEYS is enabled.

Finally, add the LSM_ID_IMA case in lsm_list_modules_test.c.

Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: Christian Brauner <brauner@kernel.org>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
Acked-by: Mimi Zohar <zohar@linux.ibm.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
2024-02-15 23:43:46 -05:00
..
alsa kselftest/alsa - conf: Stringify the printed errno in sysfs_get() 2024-01-09 15:14:46 +01:00
amd-pstate selftests/amd-pstate: Added option to provide perf binary path 2023-10-16 13:06:58 -06:00
arm64 kselftest/arm64: Don't probe the current VL for unsupported vector types 2023-12-19 10:03:17 +00:00
bpf selftests/bpf: add tests confirming type logic in kernel for __arg_ctx 2024-01-17 20:20:06 -08:00
breakpoints selftests/breakpoints: Fix format specifier in ksft_print_msg in step_after_suspend_test.c 2023-11-30 14:32:34 -07:00
cachestat selftests/cachestat: Fix print_cachestat format 2023-10-13 14:08:10 -06:00
capabilities selftests: capabilities: namespace create varies for root and normal user 2023-11-30 16:37:30 -07:00
cgroup Many singleton patches against the MM code. The patch series which 2024-01-09 11:18:47 -08:00
clone3 Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
connector selftests: connector: Fix input argument error paths to skip 2023-07-31 20:11:42 -07:00
core selftests: core: remove duplicate defines 2023-10-06 17:33:47 -06:00
cpu-hotplug
cpufreq selftests/cpufreq: Don't enable generic lock debugging options 2023-06-12 16:39:11 -06:00
damon selftests/damon: add a test for update_schemes_tried_regions hang bug 2023-12-20 14:48:13 -08:00
dma
dmabuf-heaps selftests/dmabuf-heaps: add gitignore file 2023-10-05 14:22:59 -06:00
drivers selftests: bonding: Check initial state 2024-02-01 08:36:24 -08:00
dt kselftest: Add new test for detecting unprobed Devicetree devices 2023-09-20 14:25:10 -05:00
efivarfs selftests/efivarfs: create-read: fix a resource leak 2023-10-18 14:33:44 -06:00
exec selftests/exec: Convert execveat test to generate KTAP output 2023-10-05 14:50:03 -06:00
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 vfs-6.8.mount 2024-01-08 10:57:34 -08:00
firmware selftests: firmware: remove duplicate unneeded defines 2023-10-06 17:33:52 -06:00
fpu
ftrace tracing updates for 6.8: 2024-01-18 14:35:29 -08: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: wacom: fix confidence tests 2024-01-18 09:15:38 +01:00
ia64
intel_pstate
iommu iommufd/selftest: Add coverage for IOMMU_HWPT_INVALIDATE ioctl 2024-01-11 13:01:25 -04:00
ipc
ir
kcmp
kexec
kmod
kselftest kselftest/runner.sh: add netns support 2023-12-23 00:26:32 +00:00
kvm Generic: 2024-01-17 13:03:37 -08:00
landlock selftests/landlock: Rename "permitted" to "allowed" in ftruncate tests 2024-01-03 12:07:58 +01:00
lib
livepatch selftests/livepatch: fix and refactor new dmesg message code 2024-01-30 08:55:42 -07:00
lkdtm selftests/lkdtm: Disable CONFIG_UBSAN_TRAP in test config 2023-09-28 16:39:08 -07:00
locking
lsm ima: Move to LSM infrastructure 2024-02-15 23:43:46 -05:00
media_tests selftests: media_tests: Add new subtest to video_device_test 2023-06-12 16:39:10 -06:00
membarrier
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: ksm_tests should only MADV_HUGEPAGE valid memory 2024-01-25 23:52:21 -08:00
mount
mount_setattr selftests mount: Fix mount_setattr_test builds failed 2023-03-31 09:18:45 -06:00
move_mount_set_group
mqueue
nci
net selftests: mptcp: join: stop transfer when check is done (part 2) 2024-02-01 09:06:38 -08:00
netfilter netfilter: ctnetlink: support filtering by zone 2023-12-22 12:15:20 +01:00
nolibc selftests/nolibc: disable coredump via setrlimit 2023-12-11 22:38:37 +01:00
nsfs
ntb
openat2 linux_kselftest-next-6.7-rc1 2023-11-01 17:08:10 -10:00
perf_events
pid_namespace
pidfd selftests/pidfd: Fix ksft print formats 2023-10-13 14:08:21 -06:00
powerpc selftests/powerpc: Fix spelling mistake "EACCESS" -> "EACCES" 2023-12-21 22:13:55 +11:00
prctl selftests: prctl: Add prctl test for PR_GET_NAME 2023-11-30 16:30:05 -07:00
proc proc: test ProtectionKey in proc-empty-vm test 2023-11-01 12:46:59 -07:00
pstore
ptp ptp: add testptp mask test 2023-10-15 20:07:52 +01:00
ptrace Update for entry and ptrace: 2023-04-25 11:05:04 -07:00
rcutorture rcutorture: Add mid-sized stall to TREE07 2023-11-23 11:58:18 +05:30
resctrl selftests/resctrl: Fix MBM test failure when MBA unavailable 2023-10-18 14:33:44 -06:00
riscv RISC-V: selftests: cbo: Ensure asm operands match constraints 2024-01-17 17:46:55 -08:00
rlimits
rseq selftests/rseq: Do not skip !allowed_cpus for mm_cid 2024-01-22 11:40:36 -07:00
rtc
safesetid
sched selftests: sched: Remove initialization to 0 for a static variable 2023-11-30 16:47:01 -07:00
seccomp kselftest/seccomp: Report each expectation we assert as a KTAP test 2024-01-30 08:55:42 -07:00
sgx selftests/sgx: Skip non X86_64 platform 2023-12-08 10:08:17 -08:00
sigaltstack selftests/sigaltstack: Fix wrong format specifier 2023-10-13 14:08:26 -06:00
size
sparc64
splice
static_keys selftests: static_keys: fix test name in messages 2023-10-05 14:28:59 -06:00
sync
syscall_user_dispatch
sysctl sysclt: Clarify the results of selftest run 2023-12-28 04:57:57 -08:00
tc-testing net/sched: Remove ipt action tests 2024-01-07 18:23:32 +00:00
tdx selftests/tdx: add gitignore file 2023-10-05 14:22:53 -06:00
thermal/intel selftests/thermel/intel: Add test to read power floor status 2023-10-12 21:09:48 +02:00
timens
timers selftests: timers: Convert nsleep-lat test to generate KTAP output 2023-10-05 15:00:14 -06:00
tmpfs
tpm2
tty selftests: tty: add selftest for tty timestamp updates 2023-06-15 13:45:42 +02:00
uevent selftests: uevent filtering: fix return on error in uevent_listener 2023-10-05 14:28:53 -06:00
user
user_events Tracing updates for v6.7: 2023-11-03 07:41:18 -10:00
vDSO kselftest/vDSO: Use ksft_print_msg() rather than printf in vdso_test_abi 2023-11-30 14:50:09 -07:00
watchdog
wireguard treewide: drop CONFIG_EMBEDDED 2023-08-21 13:46:25 -07:00
x86 selftests:x86: Fix Format String Warnings in lam.c 2023-11-30 14:32:41 -07:00
zram
.gitignore
Makefile Networking changes for 6.8. 2024-01-11 10:07:29 -08:00
gen_kselftest_tar.sh
kselftest.h selftests:modify the incorrect print format 2023-10-18 14:33:44 -06:00
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
lib.mk Revert "selftests: error out if kernel header files are not yet built" 2023-12-12 17:20:19 -08:00
run_kselftest.sh kselftest/runner.sh: add netns support 2023-12-23 00:26:32 +00:00