linux-samsung-r9q2/tools/testing/selftests
Linus Torvalds f122a08b19 capability: just use a 'u64' instead of a 'u32[2]' array
Back in 2008 we extended the capability bits from 32 to 64, and we did
it by extending the single 32-bit capability word from one word to an
array of two words.  It was then obfuscated by hiding the "2" behind two
macro expansions, with the reasoning being that maybe it gets extended
further some day.

That reasoning may have been valid at the time, but the last thing we
want to do is to extend the capability set any more.  And the array of
values not only causes source code oddities (with loops to deal with
it), but also results in worse code generation.  It's a lose-lose
situation.

So just change the 'u32[2]' into a 'u64' and be done with it.

We still have to deal with the fact that the user space interface is
designed around an array of these 32-bit values, but that was the case
before too, since the array layouts were different (ie user space
doesn't use an array of 32-bit values for individual capability masks,
but an array of 32-bit slices of multiple masks).

So that marshalling of data is actually simplified too, even if it does
remain somewhat obscure and odd.

This was all triggered by my reaction to the new "cap_isidentical()"
introduced recently.  By just using a saner data structure, it went from

	unsigned __capi;
	CAP_FOR_EACH_U32(__capi) {
		if (a.cap[__capi] != b.cap[__capi])
			return false;
	}
	return true;

to just being

	return a.val == b.val;

instead.  Which is rather more obvious both to humans and to compilers.

Cc: Mateusz Guzik <mjguzik@gmail.com>
Cc: Casey Schaufler <casey@schaufler-ca.com>
Cc: Serge Hallyn <serge@hallyn.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Paul Moore <paul@paul-moore.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2023-03-01 10:01:22 -08:00
..
alsa kselftest/alsa: Run PCM tests for multiple cards in parallel 2023-02-04 09:36:35 +01:00
amd-pstate selftests: amd-pstate: Don't delete source files via Makefile 2023-01-25 10:01:35 -07:00
arm64 linux-kselftest-next-6.3-rc1 2023-02-23 09:37:29 -08:00
bpf capability: just use a 'u64' instead of a 'u32[2]' array 2023-03-01 10:01:22 -08:00
breakpoints
capabilities
cgroup cgroup/cpuset: Fix wrong check in update_parent_subparts_cpumask() 2023-01-31 12:14:02 -10:00
clone3 selftests: clone3: Fix incorrect kernel headers search path 2023-01-30 15:01:52 -07:00
core selftests: core: Fix incorrect kernel headers search path 2023-01-30 15:04:52 -07:00
cpu-hotplug selftests/cpu-hotplug: Add log info when test success 2022-10-05 11:05:18 -06:00
cpufreq
damon selftests/damon/debugfs_rm_non_contexts: hide expected write error messages 2023-02-02 22:32:52 -08:00
dma selftests dma: fix compile error for dma_map_benchmark 2022-06-16 14:03:21 -06:00
dmabuf-heaps selftests: dmabuf-heaps: Fix incorrect kernel headers search path 2023-02-13 09:09:44 -07:00
drivers linux-kselftest-next-6.3-rc1 2023-02-23 09:37:29 -08:00
efivarfs selftests/efivarfs: Add checking of the test return value 2022-11-22 09:09:04 -07:00
exec
filesystems linux-kselftest-next-6.3-rc1 2023-02-23 09:37:29 -08:00
firmware
fpu
ftrace LoongArch changes for v6.3 2023-03-01 09:27:00 -08:00
futex selftests: futex: Fix incorrect kernel headers search path 2023-02-13 09:09:44 -07:00
gpio selftests: gpio: Fix incorrect kernel headers search path 2023-02-13 09:09:44 -07:00
hid selftests: hid: enforce new attach API 2023-01-18 22:08:38 +01:00
ia64
intel_pstate selftests/intel_pstate: fix build for ARCH=x86_64 2022-10-18 14:13:19 -06:00
iommu iommufd for 6.3 2023-02-24 14:34:12 -08:00
ipc selftests: ipc: Fix incorrect kernel headers search path 2023-02-13 09:09:44 -07:00
ir kselftests/ir : Improve readability of modprobe error message 2022-05-16 13:34:19 -06:00
kcmp selftests: kcmp: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
kexec selftests/kexec: fix build for ARCH=x86_64 2022-10-18 14:13:25 -06:00
kmod testing: use the copyleft-next-0.3.1 SPDX tag 2022-11-08 15:44:02 +01:00
kselftest
kvm ARM: 2023-02-25 11:30:21 -08:00
landlock selftests/landlock: Test ptrace as much as possible with Yama 2023-01-27 18:53:55 +01: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 selftests: media_tests: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
membarrier linux-kselftest-next-6.3-rc1 2023-02-23 09:37:29 -08:00
memfd - Daniel Verkamp has contributed a memfd series ("mm/memfd: add 2023-02-23 17:09:35 -08:00
memory-hotplug selftests/memory-hotplug: Remove the redundant warning information 2022-10-18 14:21:18 -06:00
mincore
mm - Daniel Verkamp has contributed a memfd series ("mm/memfd: add 2023-02-23 17:09:35 -08:00
mount
mount_setattr selftests/mount_setattr: fix to make run_tests failure 2023-02-13 16:37:29 -07: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 NFC: nci: Extend virtual NCI deinit test 2022-11-21 10:49:58 +00:00
net selftests: fib_tests: Add test cases for IPv4/IPv6 in route notify 2023-02-23 10:54:13 +01:00
netfilter netfilter: ip6t_rpfilter: Fix regression with VRF interfaces 2023-02-22 00:22:20 +01:00
nolibc selftests/nolibc: Add a "run-user" target to test the program in user land 2023-01-24 15:35:45 -08:00
nsfs
ntb
openat2
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 selftests: pidfd: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
powerpc selftests/powerpc: Fix incorrect kernel headers search path 2023-02-15 22:41:00 +11:00
prctl selftests: Fix spelling mistake "allright" -> "all right" 2023-02-13 09:09:46 -07:00
proc proc: fix PIE proc-empty-vm, proc-pid-vm tests 2023-01-11 16:14:22 -08:00
pstore
ptp selftests/ptp: Remove clean target from Makefile 2023-02-13 10:05:49 -07:00
ptrace selftests: ptrace: Use installed kernel headers search path 2023-02-13 09:09:46 -07:00
rcutorture nolibc updates for v6.3 2023-02-23 09:33:01 -08:00
resctrl
rlimits
rseq linux-kselftest-next-6.3-rc1 2023-02-23 09:37:29 -08:00
rtc selftests: rtc: skip when RTC is not present 2022-11-15 13:30:51 -07:00
safesetid LSM: SafeSetID: add setgroups() testing to selftest 2022-07-15 18:24:42 +00:00
sched selftests/sched: fix warn_unused_result build warns 2023-02-13 16:35:54 -07:00
seccomp LoongArch changes for v6.3 2023-03-01 09:27:00 -08:00
sgx selftests/sgx: Ignore OpenSSL 3.0 deprecated functions warning 2022-08-15 16:50:07 -06:00
sigaltstack
size
sparc64
splice selftests: splice_read: Fix sysfs read cases 2022-11-29 17:28:31 -07:00
static_keys
sync selftests: sync: Fix incorrect kernel headers search path 2023-02-13 09:09:45 -07:00
syscall_user_dispatch
sysctl testing: use the copyleft-next-0.3.1 SPDX tag 2022-11-08 15:44:02 +01:00
tc-testing net/sched: Retire rsvp classifier 2023-02-16 09:27:07 +01:00
tdx selftests: tdx: Use installed kernel headers search path 2023-02-13 09:09:46 -07:00
timens selftests/timens: add a test for vfork+exit 2022-10-25 15:15:52 -07:00
timers selftests: timers: clocksource-switch: adapt to kselftest framework 2022-07-14 14:36:52 -06:00
tmpfs
tpm2 selftests: tpm2: remove redundant ord() 2023-02-13 09:09:46 -07:00
uevent
user
user_events selftests/user_events: add a note about user_events.h dependency 2023-02-14 13:18:55 -07:00
vDSO selftests/vDSO: Add riscv getcpu & gettimeofday test 2022-11-03 03:28:01 -06:00
watchdog selftests/watchdog: Fix spelling mistake "Temeprature" -> "Temperature" 2022-10-27 02:53:37 -06:00
wireguard random: use random.trust_{bootloader,cpu} command line option only 2022-11-18 02:18:10 +01:00
x86 linux-kselftest-next-6.3-rc1 2023-02-23 09:37:29 -08:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest.h
kselftest_deps.sh selftests/vm: rename selftests/vm to selftests/mm 2023-01-18 17:12:56 -08:00
kselftest_harness.h testing: kselftest_harness: add filtering and enumerating tests 2023-01-26 16:00:41 -07:00
kselftest_install.sh
kselftest_module.h selftest: Taint kernel when test module loaded 2022-07-11 16:58:11 -06:00
lib.mk kselftest: Fix error message for unconfigured LLVM builds 2023-01-12 13:38:04 -07:00
Makefile - Daniel Verkamp has contributed a memfd series ("mm/memfd: add 2023-02-23 17:09:35 -08:00
run_kselftest.sh