linux/tools/testing/selftests
Linus Torvalds 303bff3637 Core features:
- Remove big-endian kernel support: CONFIG_CPU_BIG_ENDIAN has depended
    on BROKEN for a while, so drop the remaining code (BE hypervisor
    object, BPF JIT, assembly/crypto/library routines, endianness helper
    macros, selftests) and force a little-endian build
 
  - Add preemptible this_cpu_*() operations (read/write, RMW, xchg,
    cmpxchg and cmpxchg128) that no longer need to disable preemption
    around the per-CPU address generation and access
 
  - Preparation patches for implementing CONFIG_HOTPLUG_PARALLEL on
    arm64
 
 Memory management:
 
  - Treat faults taken by EFI runtime firmware as kernel faults
 
  - Clear PTE_WRITE for EFI_MEMORY_RO mappings (with hardware dirty state
    management enabled, this is not truly read-only)
 
  - Raise the default ARCH_MMAP_RND_BITS for 48-bit and 52-bit VA
    configurations (28/26/24 bits for 4K/16K/64K pages)
 
  - Implement clear_page[s]() using memset()
 
  - Enable BBML2 no-abort (a.k.a. BBML3) for the NVIDIA Rigel CPU
 
 Perf and PMU:
 
  - Support for HiSilicon's ITS PMU
 
  - Add support for some new events: INST_SIMD_ALU_VEC for Apple PMUs and
    a cycle counter for the latest version of HiSilicon's MN PMU hardware
 
  - A bunch of fixes to the CXL PMU driver to address pre-existing issues
    from Sashiko
 
  - Fix generation of PERF_RECORD_ITRACE_START records for SPE and ETM
    drivers
 
  - Reduce excessive stack consumption in the Marvell DDR PMU driver
 
  - Minor driver updates and cleanups all over
 
 Arm Confidential Compute Architecture (CCA):
 
  - Add an Arm SMCCC bus for firmware services discovered through SMCCC
    and move the TRNG and CCA guest (TSM provider) drivers onto it,
    removing the dummy CCA platform device and adding a sysfs ABI for
    Realm guests
 
  - Move the Realm Service Interface (RSI) code out of arch/arm64/ into
    drivers/firmware/arm_rmm/
 
  - Add the host side of the Realm Management Interface (RMI): detect,
    configure and activate the RMM, add SRO support and wrappers for the
    Realm RMI commands
 
  - Block hibernation (new arch hook in the PM core) and kexec while the
    RMM is active. To be revisited in the future with proper support for
    deactivation
 
  - Handle Granule Protection Faults (GPFs) taken by the host, caused by
    accesses to memory delegated to the RMM. In a future patch, the
    exception table lookup will be limited to is_kdump_kernel() cases
 
 MPAM (Memory Partitioning And Monitoring):
 
  - Add support for the MPAM firmware-backed (Fb) interface, allowing
    MSC accesses to be mediated by firmware
 
  - Fix a list of theoretical issues with the driver (MSC access error
    propagation, MBWU monitor save/restore and locking, resctrl class
    handling, error interrupt restore, maximum number of PARTIDs)
 
  - Add the mailing list and a missing file to the MAINTAINERS entry
 
  - Document when to set arm64.nompam
 
 Errata and CPU features:
 
  - Add the NXP i.MX8QM/8QP workaround for the Cortex-A53 cache coherency
    issue (ERR050104), using a new ARM64_CPUCAP_SOC_ERRATUM capability
    type for SoC-level errata
 
 Miscellaneous:
 
  - Mask debug exceptions (DAIF) around the hardware breakpoint register
    manipulations when called from generic kernel code
 
  - Don't zero the SVE state buffer when the SVE state is live
 
  - Return -EPERM instead of -EBUSY from the GCS prctl() locking
    failures (matching x86), with the selftest updated. Slight ABI change
    but no software deployment yet
 
  - kselftest: fix unsound MTE fault skipping by introducing MTE-safe
    memory accessors, avoid copying each signal test binary more than
    once
 
  - Update sysreg definitions (fix three enum values and two field names,
    mark architecturally dropped fields as RES0) and remove the TME
    transaction state check from the BRBE driver
 
  - Fix the description of ARM64_HAS_LPA2 and remove a redundant
    ID_AA64MMFR0 define
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE5RElWfyWxS+3PLO2a9axLQDIXvEFAmrRImIACgkQa9axLQDI
 XvG+mw/+Lu/PONW1zxo4M65u3vR2bTBqhx8Xo3MP15ANaNVEb3guiUX0ZGAMVdz7
 NgN5NAQFQ5lwb8V8F5LSPGPlHTZ/KEYbiu2IRqwNvUrr2xU+Bz2AZKGvTfScEokO
 PiNfe84I7pWG+U77eBotZ5TxBQiLRe+8VWetIlPOQK9QUm0PG6Z50vhBBahg5kvJ
 b0nf2K3mSIscQRskykkCfIAwTShJM1NvW4+Ygfz6UjHaTtvPg+wsHPMZunKLJW5F
 tbXjZxcJQPziTl7lsRZuKbBrW7Sm5XRl54Q5Tl5ToXQ/C8h2jKjaNoqyXfV+ETJx
 MnFMQfmSIXuKlPuhZTiZK1viVXJe886iCi0vavMwKIR1zNJBKWLWeFz7cepe/jfq
 PHnZo9dX9dNRS7vzBGVq1aYUe/pn5eVeYrUQjMWCyKF2aLvSLm5n4Tf+XtvDUrkA
 O5EuP7sHL8xY9wCJ+Mw45gX1sQiJRy2jBOBbUvZ2/F6ACgG8dvKS9lhpbIn8IsKU
 rFkwacTcsUCoKCnthOwupRApUU/S2fiyzEoUc/R/gDubmnDET3nLcSsspg/FacqP
 OOq/6ErxAQ3HA5ltK0Siq8/qud9mnpYa0xyoxs7EED3jpX2A3lLf9UZduZ+r/2IP
 k5KI+4yRkYPBqGoFjwO8nMrk8jgvZzAtTMh86EOI4LZkcNEvuzU=
 =YdKt
 -----END PGP SIGNATURE-----

Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 updates from Catalin Marinas:
 "Here are the arm64 updates for 7.4.

  The more interesting bits are the removal of big-endian kernel support
  (already marked BROKEN for some time), preemptible this_cpu_*()
  operations and MPAM support for the firmware-backed (Fb) interface.

  CCA (Arm's confidential compute) is slowly trickling in with host RMI
  (Realm Management Interface) support and some refactoring, including a
  dedicated SMCCC bus to advertise firmware services. There are also the
  usual PMU updates for new hardware and a few fixes/cleanups.

  Core features:

   - Remove big-endian kernel support: CONFIG_CPU_BIG_ENDIAN has
     depended on BROKEN for a while, so drop the remaining code (BE
     hypervisor object, BPF JIT, assembly/crypto/library routines,
     endianness helper macros, selftests) and force a little-endian
     build

   - Add preemptible this_cpu_*() operations (read/write, RMW, xchg,
     cmpxchg and cmpxchg128) that no longer need to disable preemption
     around the per-CPU address generation and access

   - Preparation patches for implementing CONFIG_HOTPLUG_PARALLEL on
     arm64

  Memory management:

   - Treat faults taken by EFI runtime firmware as kernel faults

   - Clear PTE_WRITE for EFI_MEMORY_RO mappings (with hardware dirty
     state management enabled, this is not truly read-only)

   - Raise the default ARCH_MMAP_RND_BITS for 48-bit and 52-bit VA
     configurations (28/26/24 bits for 4K/16K/64K pages)

   - Implement clear_page[s]() using memset()

   - Enable BBML2 no-abort (a.k.a. BBML3) for the NVIDIA Rigel CPU

  Perf and PMU:

   - Support for HiSilicon's ITS PMU

   - Add support for some new events: INST_SIMD_ALU_VEC for Apple PMUs
     and a cycle counter for the latest version of HiSilicon's MN PMU
     hardware

   - A bunch of fixes to the CXL PMU driver to address pre-existing
     issues from Sashiko

   - Fix generation of PERF_RECORD_ITRACE_START records for SPE and ETM
     drivers

   - Reduce excessive stack consumption in the Marvell DDR PMU driver

   - Minor driver updates and cleanups all over

  Arm Confidential Compute Architecture (CCA):

   - Add an Arm SMCCC bus for firmware services discovered through SMCCC
     and move the TRNG and CCA guest (TSM provider) drivers onto it,
     removing the dummy CCA platform device and adding a sysfs ABI for
     Realm guests

   - Move the Realm Service Interface (RSI) code out of arch/arm64/ into
     drivers/firmware/arm_rmm/

   - Add the host side of the Realm Management Interface (RMI): detect,
     configure and activate the RMM, add SRO support and wrappers for
     the Realm RMI commands

   - Block hibernation (new arch hook in the PM core) and kexec while
     the RMM is active. To be revisited in the future with proper
     support for deactivation

   - Handle Granule Protection Faults (GPFs) taken by the host, caused
     by accesses to memory delegated to the RMM. In a future patch, the
     exception table lookup will be limited to is_kdump_kernel() cases

  MPAM (Memory Partitioning And Monitoring):

   - Add support for the MPAM firmware-backed (Fb) interface, allowing
     MSC accesses to be mediated by firmware

   - Fix a list of theoretical issues with the driver (MSC access error
     propagation, MBWU monitor save/restore and locking, resctrl class
     handling, error interrupt restore, maximum number of PARTIDs)

   - Add the mailing list and a missing file to the MAINTAINERS entry

   - Document when to set arm64.nompam

  Errata and CPU features:

   - Add the NXP i.MX8QM/8QP workaround for the Cortex-A53 cache
     coherency issue (ERR050104), using a new ARM64_CPUCAP_SOC_ERRATUM
     capability type for SoC-level errata

  Miscellaneous:

   - Mask debug exceptions (DAIF) around the hardware breakpoint
     register manipulations when called from generic kernel code

   - Don't zero the SVE state buffer when the SVE state is live

   - Return -EPERM instead of -EBUSY from the GCS prctl() locking
     failures (matching x86), with the selftest updated. Slight ABI
     change but no software deployment yet

   - kselftest: fix unsound MTE fault skipping by introducing MTE-safe
     memory accessors, avoid copying each signal test binary more than
     once

   - Update sysreg definitions (fix three enum values and two field
     names, mark architecturally dropped fields as RES0) and remove the
     TME transaction state check from the BRBE driver

   - Fix the description of ARM64_HAS_LPA2 and remove a redundant
     ID_AA64MMFR0 define"

* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (144 commits)
  arm64: cpufeature: Enable BBML2 for NVIDIA Rigel
  arm64: cputype: Add NVIDIA Rigel definitions
  arm64: raise default ARCH_MMAP_RND_BITS for 48-bit and 52-bit VA
  arm64/debug: mask debug exceptions when called from common code
  kselftest/arm64: signal: copy each test binary only once
  kselftest/arm64: Check for -EPERM not -EBUSY in the locking test
  arm64: gcs: Return -EPERM not -EBUSY for prctl() locking failures
  perf: arm_brbe: Remove the check for TME transaction states
  arm64: sysreg: Mark fields the architecture dropped as RES0
  arm64: sysreg: Fix the names of two misspelt fields
  arm64: sysreg: Fix three incorrect enum values
  arm64: smp: Defer RCU registration during secondary CPU bringup
  arm64: smp: Don't bother printing the I-cache policy for each CPU
  arm64: smp: Defer update of secondary CPU capabilities
  arm64: smp: Tidy up cpuinfo init and cpufeature updates
  arm64: smp: Tidy up smp_prepare_cpus()
  arm64: cpufeature: Store every ID register with its overrides applied
  arm64: cpufeature: Read MPAMIDR_EL1 in __cpuinfo_store_cpu()
  arm64: cpufeature: Add read_cpuid_with_overrides()
  arm64: cpufeature: Check arm64_ftr_regs[] before the first store
  ...
2026-10-20 07:55:19 -10:00
..
acct selftests/acct: share netlink helpers 2026-08-03 21:10:14 -07:00
alloc_tag kselftest: alloc_tag: extend the allocinfo ioctl kselftest 2026-08-24 18:43:13 -07:00
alsa selftests/alsa: Fix the step check for INTEGER controls 2026-09-03 18:07:41 +02:00
amd-pstate
arm64 Merge branches 'for-next/misc', 'for-next/be-gone', 'for-next/smccc-bus', 'for-next/preemptible-this-cpu', 'for-next/cpu-errata', 'for-next/mpam', 'for-next/kselftest', 'for-next/efi', 'for-next/secondary-boot-prep', 'for-next/sysreg' and 'for-next/gcs', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2026-10-15 19:09:10 +01:00
bpf selftests/bpf: Add a test for objects stuck in free_by_rcu_ttrace 2026-10-01 18:40:05 +02:00
breakpoints
cachestat
capabilities
cgroup cgroup: Fixes for v7.3-rc4 2026-09-27 08:51:45 -07:00
clone3 selftests/clone3: tighten CLONE_CLEAR_SIGHAND conflict test 2026-09-04 09:49:41 +02:00
connector
core selftests/core: test CLOSE_RANGE_CLOEXEC_ONLY 2026-10-05 13:02:41 +02:00
coredump vfs-7.4-rc1.shared.net-next.pidfd 2026-10-19 20:32:52 -10:00
cpu-hotplug
cpufreq kselftest: cpufreq: Backup and restore governor for sptests 2026-07-22 21:56:44 +02:00
damon selftests/damon: check correct path in ensure_file() not_exist case 2026-08-04 19:18:29 -07:00
dax selftests/dax: add dax/kmem hotplug sysfs regression test 2026-08-06 18:57:00 -07:00
devices
dm-verity
dmabuf-heaps selftests: dmabuf-heaps: add fd-leak-on-EFAULT regression test 2026-08-24 14:21:55 +02:00
drivers selftests: mlxsw: Test port range occupancy on template create 2026-10-08 10:49:24 -07:00
dt
efivarfs
exec selftests/exec: test delimiter restrictions 2026-08-31 10:06:35 +02:00
fchmodat2
filelock kselftest/filelock: add a .gitignore file 2026-05-28 21:24:44 -07:00
filesystems vfs-7.4-rc1.mount 2026-10-19 20:06:27 -10:00
firmware
fpu
ftrace selftests/ftrace: Fix unique symbol check in kprobe_non_uniq_symbol.tc 2026-09-10 08:43:35 +09:00
futex selftests/futex: Give circular-list nodes static storage 2026-07-20 21:03:19 +02:00
gpio selftests: gpio: add gpio-cdev-uaf to .gitignore 2026-07-08 09:45:43 +02:00
hid selftest/hid: add test for negative return codes for hid_bpf_hw_request 2026-09-25 09:45:11 +02:00
ia64
intel_pstate
iommu iommufd/selftest: Add invalidation entry_num and entry_len boundary tests 2026-06-12 10:44:44 -03:00
ipc selftests: ipc: change operation not supported error number 2026-08-03 21:10:17 -07:00
ir
kcmp
kexec
kho selftests: kho: test with deferred struct page init 2026-06-01 02:31:37 +03:00
kmod
kselftest
kselftest_harness
kvm KVM/arm64 fixes for 7.3, round #2 2026-10-01 13:13:57 -04:00
landlock selftests/landlock: Test network denial context 2026-09-20 14:13:31 +02:00
lib
livepatch selftests/livepatch: update test-ftrace.sh for deprecated ftrace_enabled 2026-08-10 21:21:18 -04:00
liveupdate selftests/liveupdate: Move luo_test_utils.* into a reusable library 2026-07-26 11:28:41 +03:00
lkdtm selftests/lkdtm: rename STACKLEAK_ERASING to KSTACK_ERASE 2026-07-15 18:08:11 -07:00
locking
lsm selftests/lsm: Fix memory leak in attr_lsm_count 2026-07-07 15:14:00 -04:00
media_tests
membarrier selftests/membarrier: Add rseq stress test for CFS throttle interactions 2026-05-05 12:50:48 +02:00
memfd selftests/memfd: remove unused variable 'sig' in fuse_test 2026-06-04 14:45:06 -07:00
memory-hotplug
mincore selftests: mincore: count file-mmap readahead on both sides 2026-08-06 18:56:55 -07:00
mm selftests/mm: cleanup -Wformat issues in hugetlb-mmap 2026-10-06 16:44:18 -07:00
module
mount
mount_setattr
move_mount_set_group selftests/move_mount_set_group: check that an unbindable target is refused 2026-09-25 17:20:32 +02:00
mqueue
mseal_system_mappings
namespaces vfs-7.4-rc1.misc 2026-10-19 19:30:45 -10:00
nci selftests/nci: Fix out-of-bounds store on thread join 2026-09-23 22:13:16 +02:00
net selftests/net: SO_PEERPIDFD_THREAD 2026-10-12 10:58:21 +02:00
nolibc tools/nolibc: add support for Alpha 2026-08-02 09:30:55 +02:00
ntb
pci_endpoint
pcie_bwctrl
perf_events selftests/perf_events: fix mmap() error check in sigtrap_threads 2026-05-28 21:24:49 -07:00
pid_namespace selftests: pid_namespace: test fork with dead ancestor 2026-10-12 11:05:53 +02:00
pidfd selftests/pidfd: fix PPID values in error message 2026-09-04 09:50:30 +02:00
pipe selftests/pipe: add pipe_bench microbenchmark 2026-05-28 14:33:25 +02:00
power_supply power: supply: Add PbAc, NiZn, RAM, and ZnAr support 2026-07-21 22:28:11 +02:00
powerpc selftests/powerpc: use MAP_FAILED instead of (void *)-1 in tm-signal-context-force-tm 2026-09-10 13:16:50 +05:30
prctl selftests/prctl: fix non-anonymous VMA mapping in set-anon-vma-name test 2026-08-13 15:42:07 -07:00
proc mm.git review status for linus..mm-stable 2026-08-27 09:17:06 -07:00
pstore
ptp
ptrace
rcutorture torture: Allow "norm" abbreviation for "normal" 2026-05-24 09:38:59 +02:00
rdma RDMA/selftests: Add rxe_netns_names test 2026-07-26 03:11:00 -04:00
resctrl selftests/resctrl: Reduce L2 impact on CAT test 2026-05-04 18:40:02 -06:00
ring-buffer
riscv kselftest/riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ 2026-09-01 19:20:23 -06:00
rlimits
rseq selftests/arm64: Remove big-endian support 2026-09-23 18:19:06 +01:00
rtc
rust
safesetid
sched
sched_ext selftests/sched_ext: Add a test for ops.dequeue() on remote local DSQ moves 2026-09-30 07:49:52 -10:00
seccomp selftests/seccomp: Fix pointer type mismatch build error 2026-07-15 18:11:29 -07:00
sgx
signal
size
sparc64
splice
static_keys
sync
syscall_user_dispatch syscall_user_dispatch: Make it configurable in Kconfig 2026-07-08 10:22:00 +02:00
sysctl
tc-testing selftests: tc-testing: add cls_route no-routing-attribute change tests 2026-10-06 17:59:06 -07:00
tdx
thermal/intel
timens
timers selftests: timers: nsleep-lat: Check all calls to clock_nanosleep() and clock_gettime() 2026-08-11 18:11:21 +02:00
tmpfs
tpm2
tty
turbostat
ublk selftests: ublk: fix unused_result error 2026-09-21 03:56:46 -06:00
uevent selftests/uevent: increase __UEVENT_BUFFER_SIZE to avoid ENOBUFS on busy systems 2026-06-17 15:37:46 -07:00
user_events selftests/user_events: Wait for deferred event teardown after unregister 2026-07-08 09:33:22 -04:00
vDSO
verification selftests/verification: Add selftests for deadline and stall monitors 2026-07-31 16:27:46 +02:00
vfio vfio: selftests: Retry on EAGAIN during device reset 2026-08-10 13:24:40 -06:00
vsock selftests/vsock: skip vng setsid workaround on >= 1.41 2026-06-15 12:52:01 -07:00
watchdog
wireguard sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL 2026-08-05 15:28:23 +02:00
x86 selftests/x86: Check signal state for rejected software interrupts 2026-09-18 12:33:18 +02:00
zram selftests/zram: fix kernel_gte() for POSIX sh 2026-07-30 07:55:37 -06:00
.gitignore
clock-helpers.h selftests: Add clock-helpers.h 2026-08-11 18:11:20 +02:00
gen_kselftest_tar.sh
kselftest_deps.sh
kselftest_harness.h selftests: harness: Mark test fixture objects __maybe_unused 2026-08-12 12:00:05 -06:00
kselftest_install.sh
kselftest_module.h
kselftest.h linux_kselftest-next-7.2-rc1 2026-06-16 16:49:07 +05:30
lib.mk
Makefile vfs-7.4-rc1.misc 2026-10-19 19:30:45 -10:00
run_kselftest.sh