Commit f32a375eccb7 for kernel

commit f32a375eccb7b27bccc57dee45befff6e3b3d4b2
Merge: 9ecfb2f7287a 319fafd9a374
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Jun 18 21:55:24 2026 -0700

    Merge tag 'riscv-for-linus-7.2-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

    Pull RISC-V updates from Paul Walmsley:

     - Prevent get_free_mem_region() from returning regions that are
       unmappable in certain circumstances by defining
       DIRECT_MAP_PHYSMEM_END for RISC-V

     - Fix an early boot problem with kexec_file when the amount of
       installed physical memory installed on the system exceeds the direct
       map size, which is possible in certain RISC-V virtual memory modes

     - Unconditionally sfence.vma in the new vmalloc area handling code in
       the page fault handler, since even the presence of Svvptc doesn't
       guarantee that the CPU won't immediately fault again after the
       exception handler completes and subsequently crash

     - Fix ftrace_graph_ret_addr() to use the correct task pointer (aligning
       with what other architectures do)

     - Fix the misaligned access performance checking code in cases when
       performance is specified on the kernel command line and when CPUs
       have been brought offline and back online

     - Get rid of a bogus address offset in the non-frame-pointer version of
       walk_stackframe(), aligning it with the frame pointer-based code

     - Fix a RISC-V kfence issue causing bogus use-after-free warnings

     - Add ARCH_HAS_CC_CAN_LINK for RISC-V, which needs different compiler
       command line flags than other architectures

     - Implement _THIS_IP_ using RISC-V-specific assembly, which seems to be
       less brittle (from a compiler point of view) than taking the address
       of a label

     - Reduce kernel startup overhead by defining
       HAVE_BUILDTIME_MCOUNT_SORT, since arch/riscv meets all the
       requirements

     - Patch the CFI vDSO during alternatives processing, not only the
       standard vDSO

     - Fix a potential memory leak in the cacheinfo code

     - Clean up kernel/setup.c:add_resource() to pass along the return value
       from insert_resource() and to improve the display of resource ranges

     - Clean up our purgatory.[ch] by aligning our purgatory() prototype to
       what's in arch/x86, and by cleaning up verify_sha256_digest()

     - Clean up cpu_is_stopped() to align its function a little more closely
       to its name

     - Replace some unbounded string function usage in get_early_cmdline()
       and the ptdump code with strscpy()

     - Replace sprintf() with sysfs_emit() in cpu_show_ghostwrite() for
       safer bounds checking

     - Standardize how compiler output flags are specified in the RISC-V
       kselftests, aligning them with what other architectures do

     - Use the Linux-generic cmp_int() macro in place of an open-coded
       "cmp_3way()" macro in kernel/module-sections.c

     - Panic early in boot if IRQ handler stacks can't be allocated rather
       than pretending to continue normally

     - Add support for Eswin SoCs in the RISC-V defconfig

     - Remove some unnecessary conditionals in sbi_hsm_hart_{start,stop}()

     - Clean up some Kconfig infelicities found by Kconfirm

     - Replace an open-coded version of min() in the kexec_elf code with
       the standard min() function

    * tag 'riscv-for-linus-7.2-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (36 commits)
      riscv: traps_misaligned: Avoid redundant unaligned access speed probe
      riscv: misaligned: Fix fast_unaligned_access_speed_key init
      riscv: also select ARCH_KEEP_MEMBLOCK if kexec is selected
      riscv: alternative: Also patch the CFI vDSO
      riscv: alternative: Pass vDSO start as parameter to apply_vdso_alternatives()
      riscv: alternative: Use IS_ENABLED() over ifdeffery for apply_vdso_alternatives()
      riscv: vdso: Always declare vdso_start symbols
      riscv: kexec: use min to simplify riscv_kexec_elf_load
      riscv: panic if IRQ handler stacks cannot be allocated
      riscv: mm: Unconditionally sfence.vma for spurious fault
      riscv: mm: Use the bitmap API for new_valid_map_cpus
      riscv: mm: Rename new_vmalloc into new_valid_map_cpus
      riscv: kfence: Call mark_new_valid_map() for kfence_unprotect()
      riscv: mm: Extract helper mark_new_valid_map()
      riscv: stacktrace: Remove bogus -0x4 offset in non-FP walk_stackframe
      riscv: cacheinfo: Fix node reference leak in populate_cache_leaves
      riscv: kexec_file: Constrain segment placement to direct map
      riscv: mm: Define DIRECT_MAP_PHYSMEM_END
      riscv: defconfig: Enable Eswin SoCs
      riscv: cpu_ops_sbi: No need to be bothered to check ret.error
      ...