linux/drivers/resctrl
Linus Torvalds 6e07889d8f arm64 fixes:
- Release the GCS on a failed fork. copy_thread() can allocate a GCS
    for CLONE_VM threads but a later copy_process() failure left the VMA
    in the parent's mm. Implement exit_thread() to free it and stop
    kernel threads and user workers inheriting the parent's GCS
    base/size. Add a kselftest for the clone3() failure case
 
  - Do not set PTE_CONT on invalid PTEs in contpte_set_ptes(). Batched
    set_ptes() of present-invalid entries (e.g. PROT_NONE) created contpte
    groups that the single-PTE helpers did not unfold, corrupting a
    neighbouring guard marker via test_and_clear_young_ptes()
 
  - Release the MPAM mon_sel lock on the mpam_save_mbwu_state() error
    paths
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE5RElWfyWxS+3PLO2a9axLQDIXvEFAmrk3ssACgkQa9axLQDI
 XvFwiQ/+LSIVXGHJIWom8Wu6e3P+Ho0FxbDbxgT3VHXR6uHjdyNa/nN60IXVQES8
 KJ7Kydrh8X+90eDYQY7iKwuXwNQsxwdYMFGLa26aFDaOv3bK0bI2xM3zpRAg98qy
 UwXApfatt4iCm1pB8E8n3XJ64eVccapfrf6Mv5wnn1cg8vSsrlR6S3HotATGc8cG
 +1cuoI3fgByDqiVkssJka2ZhM5tWBxEg4mQ3Un6O6vTQTAZCp/vbsRgOjupKsgRU
 zLWh8KNEoV1ehYtPuwXQ+sRiOhfBHOuNK3i+FlmTEuRjcLJ2xbkpIzCEJvy2+n9+
 n+0ewG0EkRrf4NodgeDmBB6zSyLhfKjorp634NqWj8UKF2z4uPLJzhb5xJXeeByZ
 uOynRR19fj2YOWIc/vF1p+4yQCSi6eOEASU/5oYSqsnKU/As6Xoum22dMtRERB6e
 YH8cQT0RXw0qWJ46+/6rRqIpugNa+kkVcQloP2YLKl4QpPYGhtK8Kw4dymx6OQcl
 zDoiP8R2hQzylMjzvNRA+KugCOKsCPy4j7A3w3aiBVOkhOsfoHK4zkx3LJp/su/d
 gRNiDJgN4S57yrmvEUlXmBXUI1QzeXnRNHm/xYb7SGe/DeDaJElS+EmcPFi/i6Up
 VaKyApaS017oBq/pS5Ku1DL4jr8EjPM9xW7//Tczq4MzPyl4ogY=
 =ZNuk
 -----END PGP SIGNATURE-----

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

Pull arm64 fixes from Catalin Marinas:
 "Three fixes that turned up during the merging window: shadow stack not
  freed during a failed fork or it is unmapped from parent when a worker
  thread exits (same commit covers both); PTE_CONT set on PROT_NONE
  entries but subsequently ignored by the unfolding code since
  pte_valid() is false (pte_present() is true); an MPAM lock not
  released on the error path.

  Summary:

   - Release the GCS on a failed fork.

     copy_thread() can allocate a GCS for CLONE_VM threads but a later
     copy_process() failure left the VMA in the parent's mm. Implement
     exit_thread() to free it and stop kernel threads and user workers
     inheriting the parent's GCS base/size. Add a kselftest for the
     clone3() failure case

   - Do not set PTE_CONT on invalid PTEs in contpte_set_ptes().

     Batched set_ptes() of present-invalid entries (e.g. PROT_NONE)
     created contpte groups that the single-PTE helpers did not unfold,
     corrupting a neighbouring guard marker via
     test_and_clear_young_ptes()

   - Release the MPAM mon_sel lock on the mpam_save_mbwu_state() error
     paths"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  selftests/arm64: GCS must not leak on a failed clone3
  arm64/gcs: release GCS on failed fork
  arm64/mm: restrict transparent contpte mappings to valid PTEs
  arm_mpam: Release the mon_sel lock on mpam_save_mbwu_state() errors
2026-10-30 09:46:29 -10:00
..
Kconfig arm_mpam: detect and enable MPAM-Fb PCC support 2026-10-02 18:27:11 +01:00
Makefile arm_mpam: add MPAM-Fb MSC firmware access support 2026-10-02 18:22:55 +01:00
mpam_devices.c arm_mpam: Release the mon_sel lock on mpam_save_mbwu_state() errors 2026-10-22 18:16:05 +01:00
mpam_fb.c arm_mpam: detect and enable MPAM-Fb PCC support 2026-10-02 18:27:11 +01:00
mpam_internal.h arm_mpam: make the mon_sel guard conditional only 2026-10-12 12:25:06 +01:00
mpam_resctrl.c - Push down into arch code the rounding of bandwidth control user values due 2026-10-20 10:11:04 -10:00
test_mpam_devices.c arm_mpam: Force __iomem casts 2026-03-13 14:17:30 +00:00
test_mpam_resctrl.c arm_mpam: resctrl: Add kunit test for control format conversions 2026-03-27 15:31:04 +00:00