Skip to content
  • Linus Torvalds's avatar
    0ca2ce81
    Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 0ca2ce81
    Linus Torvalds authored
    Pull arm64 updates from Catalin Marinas:
    
     - Expose tag address bits in siginfo. The original arm64 ABI did not
       expose any of the bits 63:56 of a tagged address in siginfo. In the
       presence of user ASAN or MTE, this information may be useful. The
       implementation is generic to other architectures supporting tags
       (like SPARC ADI, subject to wiring up the arch code). The user will
       have to opt in via sigaction(SA_EXPOSE_TAGBITS) so that the extra
       bits, if available, become visible in si_addr.
    
     - Default to 32-bit wide ZONE_DMA. Previously, ZONE_DMA was set to the
       lowest 1GB to cope with the Raspberry Pi 4 limitations, to the
       detriment of other platforms. With these changes, the kernel scans
       the Device Tree dma-ranges and the ACPI IORT information before
       deciding on a smaller ZONE_DMA.
    
     - Strengthen READ_ONCE() to acquire when CONFIG_LTO=y. When building
       with LTO, there is an increased risk of the compiler converting an
       address dependency headed by a READ_ONCE() invocation into a control
       dependency and consequently allowing for harmful reordering by the
       CPU.
    
     - Add CPPC FFH support using arm64 AMU counters.
    
     - set_fs() removal on arm64. This renders the User Access Override
       (UAO) ARMv8 feature unnecessary.
    
     - Perf updates: PMU driver for the ARM DMC-620 memory controller, sysfs
       identifier file for SMMUv3, stop event counters support for i.MX8MP,
       enable the perf events-based hard lockup detector.
    
     - Reorganise the kernel VA space slightly so that 52-bit VA
       configurations can use more virtual address space.
    
     - Improve the robustness of the arm64 memory offline event notifier.
    
     - Pad the Image header to 64K following the EFI header definition
       updated recently to increase the section alignment to 64K.
    
     - Support CONFIG_CMDLINE_EXTEND on arm64.
    
     - Do not use tagged PC in the kernel (TCR_EL1.TBID1==1), freeing up 8
       bits for PtrAuth.
    
     - Switch to vmapped shadow call stacks.
    
     - Miscellaneous clean-ups.
    
    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (78 commits)
      perf/imx_ddr: Add system PMU identifier for userspace
      bindings: perf: imx-ddr: add compatible string
      arm64: Fix build failure when HARDLOCKUP_DETECTOR_PERF is enabled
      arm64: mte: fix prctl(PR_GET_TAGGED_ADDR_CTRL) if TCF0=NONE
      arm64: mark __system_matches_cap as __maybe_unused
      arm64: uaccess: remove vestigal UAO support
      arm64: uaccess: remove redundant PAN toggling
      arm64: uaccess: remove addr_limit_user_check()
      arm64: uaccess: remove set_fs()
      arm64: uaccess cleanup macro naming
      arm64: uaccess: split user/kernel routines
      arm64: uaccess: refactor __{get,put}_user
      arm64: uaccess: simplify __copy_user_flushcache()
      arm64: uaccess: rename privileged uaccess routines
      arm64: sdei: explicitly simulate PAN/UAO entry
      arm64: sdei: move uaccess logic to arch/arm64/
      arm64: head.S: always initialize PSTATE
      arm64: head.S: cleanup SCTLR_ELx initialization
      arm64: head.S: rename el2_setup -> init_kernel_el
      arm64: add C wrappers for SET_PSTATE_*()
      ...
    0ca2ce81
    Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
    Linus Torvalds authored
    Pull arm64 updates from Catalin Marinas:
    
     - Expose tag address bits in siginfo. The original arm64 ABI did not
       expose any of the bits 63:56 of a tagged address in siginfo. In the
       presence of user ASAN or MTE, this information may be useful. The
       implementation is generic to other architectures supporting tags
       (like SPARC ADI, subject to wiring up the arch code). The user will
       have to opt in via sigaction(SA_EXPOSE_TAGBITS) so that the extra
       bits, if available, become visible in si_addr.
    
     - Default to 32-bit wide ZONE_DMA. Previously, ZONE_DMA was set to the
       lowest 1GB to cope with the Raspberry Pi 4 limitations, to the
       detriment of other platforms. With these changes, the kernel scans
       the Device Tree dma-ranges and the ACPI IORT information before
       deciding on a smaller ZONE_DMA.
    
     - Strengthen READ_ONCE() to acquire when CONFIG_LTO=y. When building
       with LTO, there is an increased risk of the compiler converting an
       address dependency headed by a READ_ONCE() invocation into a control
       dependency and consequently allowing for harmful reordering by the
       CPU.
    
     - Add CPPC FFH support using arm64 AMU counters.
    
     - set_fs() removal on arm64. This renders the User Access Override
       (UAO) ARMv8 feature unnecessary.
    
     - Perf updates: PMU driver for the ARM DMC-620 memory controller, sysfs
       identifier file for SMMUv3, stop event counters support for i.MX8MP,
       enable the perf events-based hard lockup detector.
    
     - Reorganise the kernel VA space slightly so that 52-bit VA
       configurations can use more virtual address space.
    
     - Improve the robustness of the arm64 memory offline event notifier.
    
     - Pad the Image header to 64K following the EFI header definition
       updated recently to increase the section alignment to 64K.
    
     - Support CONFIG_CMDLINE_EXTEND on arm64.
    
     - Do not use tagged PC in the kernel (TCR_EL1.TBID1==1), freeing up 8
       bits for PtrAuth.
    
     - Switch to vmapped shadow call stacks.
    
     - Miscellaneous clean-ups.
    
    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (78 commits)
      perf/imx_ddr: Add system PMU identifier for userspace
      bindings: perf: imx-ddr: add compatible string
      arm64: Fix build failure when HARDLOCKUP_DETECTOR_PERF is enabled
      arm64: mte: fix prctl(PR_GET_TAGGED_ADDR_CTRL) if TCF0=NONE
      arm64: mark __system_matches_cap as __maybe_unused
      arm64: uaccess: remove vestigal UAO support
      arm64: uaccess: remove redundant PAN toggling
      arm64: uaccess: remove addr_limit_user_check()
      arm64: uaccess: remove set_fs()
      arm64: uaccess cleanup macro naming
      arm64: uaccess: split user/kernel routines
      arm64: uaccess: refactor __{get,put}_user
      arm64: uaccess: simplify __copy_user_flushcache()
      arm64: uaccess: rename privileged uaccess routines
      arm64: sdei: explicitly simulate PAN/UAO entry
      arm64: sdei: move uaccess logic to arch/arm64/
      arm64: head.S: always initialize PSTATE
      arm64: head.S: cleanup SCTLR_ELx initialization
      arm64: head.S: rename el2_setup -> init_kernel_el
      arm64: add C wrappers for SET_PSTATE_*()
      ...
Loading