milos-linux/tools/testing/selftests
Linus Torvalds 1a251f52cf minmax: make generic MIN() and MAX() macros available everywhere
This just standardizes the use of MIN() and MAX() macros, with the very
traditional semantics.  The goal is to use these for C constant
expressions and for top-level / static initializers, and so be able to
simplify the min()/max() macros.

These macro names were used by various kernel code - they are very
traditional, after all - and all such users have been fixed up, with a
few different approaches:

 - trivial duplicated macro definitions have been removed

   Note that 'trivial' here means that it's obviously kernel code that
   already included all the major kernel headers, and thus gets the new
   generic MIN/MAX macros automatically.

 - non-trivial duplicated macro definitions are guarded with #ifndef

   This is the "yes, they define their own versions, but no, the include
   situation is not entirely obvious, and maybe they don't get the
   generic version automatically" case.

 - strange use case #1

   A couple of drivers decided that the way they want to describe their
   versioning is with

	#define MAJ 1
	#define MIN 2
	#define DRV_VERSION __stringify(MAJ) "." __stringify(MIN)

   which adds zero value and I just did my Alexander the Great
   impersonation, and rewrote that pointless Gordian knot as

	#define DRV_VERSION "1.2"

   instead.

 - strange use case #2

   A couple of drivers thought that it's a good idea to have a random
   'MIN' or 'MAX' define for a value or index into a table, rather than
   the traditional macro that takes arguments.

   These values were re-written as C enum's instead. The new
   function-line macros only expand when followed by an open
   parenthesis, and thus don't clash with enum use.

Happily, there weren't really all that many of these cases, and a lot of
users already had the pattern of using '#ifndef' guarding (or in one
case just using '#undef MIN') before defining their own private version
that does the same thing. I left such cases alone.

Cc: David Laight <David.Laight@aculab.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-07-28 15:49:18 -07:00
..
alsa kselftest/alsa: Log the PCM ID in pcm-test 2024-07-18 16:48:44 +02:00
amd-pstate
arm64 kselftest: missing arg in ptrace.c 2024-07-23 15:27:16 +01:00
bpf bpf-for-netdev 2024-07-25 07:40:25 -07:00
breakpoints selftests/breakpoints:Remove unused variable 2024-07-11 11:23:55 -06:00
cachestat selftests: cachestat: Fix build warnings on ppc64 2024-05-29 12:24:44 -06:00
capabilities selftests/capabilities: fix warn_unused_result build warnings 2024-05-08 16:48:25 -06:00
cgroup - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
clone3 selftests/clone3: ksft_exit functions do not return 2024-05-06 13:57:20 -06:00
connector
core selftests: add F_DUPDFD_QUERY selftests 2024-05-10 08:49:13 +02:00
cpu-hotplug
cpufreq selftests: cpufreq: conform test to TAP 2024-05-06 13:57:20 -06:00
damon selftests/damon/damon_nr_regions: test online-tuned max_nr_regions 2024-07-03 19:30:29 -07:00
devices kselftest: devices: Add test to detect device error logs 2024-07-12 10:59:06 +02:00
dma selftests/dma:remove unused variable 2024-07-11 11:23:55 -06:00
dmabuf-heaps selftests/dmabuf-heap: conform test to TAP format output 2024-05-06 13:57:19 -06:00
drivers - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
dt linux_kselftest-next-6.9-rc1 2024-03-11 09:25:33 -07:00
efivarfs
exec - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
fchmodat2 selftests/fchmodat2: fix clang build failure due to -static-libasan 2024-06-11 15:05:05 -06:00
filelock
filesystems - In the series "treewide: Refactor heap related implementation", 2024-07-21 17:56:22 -07:00
firmware
fpu
ftrace ftrace: Rewrite of function graph tracer 2024-07-18 13:36:33 -07:00
futex selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
gpio selftest: gpio: remove obsolete gpio-mockup test 2024-03-05 20:01:08 +01:00
hid selftests/hid: ensure CKI can compile our new tests on old kernels 2024-07-01 14:48:03 +02:00
ia64
intel_pstate selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
iommu - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
ipc selftests/ipc: ksft_exit functions do not return 2024-05-06 13:57:20 -06:00
ir
kcmp selftests/kcmp: remove unused open mode 2024-05-11 15:51:43 -07:00
kexec
kmod
kselftest kselftest: Move ksft helper module to common directory 2024-07-12 10:59:06 +02:00
kvm - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
landlock selftests/landlock: Add cred_transfer test 2024-07-24 17:34:56 +02:00
lib
livepatch Merge branch 'for-6.11/sysfs-patch-replace' into for-linus 2024-07-23 17:13:10 +02:00
lkdtm lkdtm/bugs: add test for hung smp_call_function_single() 2024-06-17 11:17:31 -07:00
locking
lsm lsm: use 32-bit compatible data types in LSM syscalls 2024-03-14 11:31:26 -04:00
media_tests
membarrier selftests: membarrier: ksft_exit_pass() does not return 2024-05-06 13:57:20 -06:00
memfd selftests/memfd: fix spelling mistakes 2024-05-07 10:36:59 -07:00
memory-hotplug
mincore
mm minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
mount
mount_setattr
move_mount_set_group
mqueue selftests/mqueue: fix 5 warnings about signed/unsigned mismatches 2024-06-24 22:25:03 -07:00
nci
net A lot of networking people were at a conference last week, busy 2024-07-25 13:32:25 -07:00
nolibc tools/nolibc: implement strerror() 2024-06-29 09:44:57 +02:00
nsfs
ntb
openat2 selftests/openat2: fix clang build failures: -static-libasan, LOCAL_HDRS 2024-06-11 15:00:11 -06:00
perf_events selftests/perf_events: Test FASYNC with watermark wakeups 2024-04-14 22:26:33 +02:00
pid_namespace
pidfd pidfs: add selftests for new namespace ioctls 2024-07-24 10:53:13 +02:00
power_supply selftests: power_supply: Make it POSIX-compliant 2024-05-06 13:57:20 -06:00
powerpc selftests/powerpc: Fix build with USERCFLAGS set 2024-07-06 22:10:14 +10:00
prctl
proc - In the series "treewide: Refactor heap related implementation", 2024-07-21 17:56:22 -07:00
pstore
ptp
ptrace
rcutorture torture: Scale --do-kvfree test time 2024-04-16 11:16:36 +02:00
resctrl - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
ring-buffer selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
riscv - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
rlimits
rseq
rtc
rust kselftest: Add basic test for probing the rust sample modules 2024-03-04 13:13:04 -07:00
safesetid
sched selftests/sched: fix code format issues 2024-07-11 11:23:53 -06:00
seccomp minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
sgx selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
sigaltstack selftests/sigaltstack: Fix ppc64 GCC build 2024-07-01 21:35:38 +10:00
size
sparc64
splice
static_keys
sync selftests: sync: ksft_exit_pass() does not return 2024-05-06 13:57:21 -06:00
syscall_user_dispatch selftests: sud_test: return correct emulated syscall value on RISC-V 2024-04-25 09:46:41 -07:00
sysctl
tc-testing net/sched: taprio: extend minimum interval restriction to entire cycle too 2024-05-28 19:46:41 -07:00
tdx
thermal/intel
timens selftest/timerns: fix clang build failures for abs() calls 2024-07-05 13:21:48 -06:00
timers selftests/timers: remove unused irqcount variable 2024-07-11 11:23:54 -06:00
tmpfs selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -07:00
tpm2
tty kselftest/tty: Report a consistent test name for the one test we run 2024-05-06 13:57:19 -06:00
turbostat tools/power turbostat: Add selftests for added perf counters 2024-07-26 13:51:25 -04:00
uevent
user
user_events selftests/user_events: Add non-spacing separator check 2024-05-13 12:15:46 -04:00
vDSO selftests/vDSO: add tests for vgetrandom 2024-07-19 20:22:12 +02:00
watchdog
wireguard wireguard: selftests: use acpi=off instead of -no-acpi for recent QEMU 2024-07-05 17:21:10 -07:00
x86 Probes updates for v6.11: 2024-07-18 12:19:20 -07:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest.h selftests: kselftest: also use strerror() on nolibc 2024-06-29 09:44:58 +02:00
kselftest_deps.sh selftests: kselftest_deps: fix l5_test() empty variable 2024-05-08 16:46:41 -06:00
kselftest_harness.h selftests/harness: Fix tests timeout and race condition 2024-06-28 16:06:03 +02:00
kselftest_install.sh
kselftest_module.h
lib.mk - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
Makefile USB/Thunderbolt updates for 6.11-rc1 2024-07-19 15:37:48 -07:00
run_kselftest.sh