Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Walmsley <pjw@kernel.org>
To: torvalds@linux-foundation.org
Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] RISC-V updates for v7.2-rc4
Date: Sun, 19 Jul 2026 10:47:00 -0600 (MDT)	[thread overview]
Message-ID: <ad692ed9-a217-5d59-3bbf-fdd7649056ba@kernel.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 7412 bytes --]

Linus,

Please pull these RISC-V updates for v7.2-rc4.  From a maintenance 
perspective, there's a change in common code to now call 
flush_cache_vmap() after setting up new vmemmap pages on configs using 
CONFIG_SPARSEMEM_VMEMMAP.  This is to avoid spurious faults on 
microarchitectures that support caching PTEs marked non-present, such as 
RISC-V and PowerPC.

Otherwise, not much to note.  In the event you notice a significant kernel 
size reduction on RISC-V (below), it comes from a fix to relax function 
alignment constraints when dynamic ftrace is disabled.


thanks,

- Paul

The following changes since commit a13c140cc289c0b7b3770bce5b3ad42ab35074aa:

  Linux 7.2-rc3 (2026-07-12 14:16:39 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux tags/riscv-for-linus-7.2-rc4

for you to fetch changes up to 5caae1deee89a6582c761d5dcd4b924b744426cc:

  riscv: hwprobe: Avoid uninitialized read in hwprobe_get_cpus() (2026-07-15 11:12:40 -0600)

----------------------------------------------------------------
RISC-V updates for v7.2-rc4

- Call flush_cache_vmap() after populating new vmemmap pages, on all
  architectures.  This avoids spurious faults on RISC-V
  microarchitectures that cache PTEs marked as non-present

- Disable LTO for the vDSO to prevent the compiler from eliding
  functions that are used, but which don't appear to be

- Fix an issue with libgcc's unwinder and signal handlers by dropping
  an unnecessary CFI landing pad instruction in __vdso_rt_sigreturn
  (similar to what was done on ARM64)

- Avoid reading uninitialized memory under certain conditions in
  hwprobe_get_cpus()

- Save some memory and I$ when CONFIG_DYNAMIC_FTRACE=n by avoiding
  our four-byte function alignment requirement in that case

- Avoid clang warnings about null-pointer arithmetic in the I/O-port
  accessor macros (inb, outb, etc.) by ifdeffing them out when
  !CONFIG_HAS_IOPORT

- Make the build of the lazy TLB flushing code in the vmalloc path
  depend on CONFIG_64BIT and CONFIG_MMU (since those platforms are the
  only ones that use it)

----------------------------------------------------------------
Aurelien Jarno (1):
      arch/riscv: vdso: remove CFI landing pad from rt_sigreturn

Mark Harris (1):
      riscv: hwprobe: Avoid uninitialized read in hwprobe_get_cpus()

Rui Qi (1):
      riscv: Gate FUNCTION_ALIGNMENT_4B on DYNAMIC_FTRACE

Thomas Weißschuh (1):
      riscv: vdso: Do not use LTO for the vDSO

Vivian Wang (2):
      riscv: mm: Make mark_new_valid_map() stuff depend on 64BIT && MMU
      mm/sparse-vmemmap: flush_cache_vmap() after hotplugging vmemmap

Yunhui Cui (1):
      riscv: io: avoid null-pointer arithmetic in PIO helpers

 arch/riscv/Kconfig                    |  2 +-
 arch/riscv/include/asm/cacheflush.h   |  5 +++--
 arch/riscv/include/asm/io.h           |  8 ++++++++
 arch/riscv/kernel/entry.S             |  2 +-
 arch/riscv/kernel/sys_hwprobe.c       |  1 +
 arch/riscv/kernel/vdso/Makefile       |  6 +++---
 arch/riscv/kernel/vdso/rt_sigreturn.S | 10 +++++++++-
 arch/riscv/mm/init.c                  |  2 ++
 mm/sparse-vmemmap.c                   |  2 ++
 9 files changed, 30 insertions(+), 8 deletions(-)

vmlinux size differences in bytes (from a13c140cc289):
  text    data   bss     dec    hex  filename                             
-52032     +96     .  -51936  -cae0  vmlinux.defconfig.gcc-16             
-55224   -4000     .  -59224  -e758  vmlinux.nosmp_defconfig.gcc-16       
-51598     +96   -64  -51566  -c96e  vmlinux.rv32_defconfig.gcc-16        
-49942     +96     .  -49846  -c2b6  vmlinux.rv32_nosmp_defconfig.gcc-16  
  -175     +64     .    -111    -6f  vmlinux.nommu_virt_defconfig.gcc-16  
-47958     +96     .  -47862  -baf6  vmlinux.defconfig.clang-20           
-45794   -4000     .  -49794  -c282  vmlinux.nosmp_defconfig.clang-20     
-48052     +64     .  -47988  -bb74  vmlinux.rv32_defconfig.clang-20      
-46754     +96     .  -46658  -b642  vmlinux.rv32_nosmp_defconfig.clang-20
  -179       .   -64    -243    -f3  vmlinux.nommu_virt_defconfig.clang-20
-51822     +64     .  -51758  -ca2e  vmlinux.defconfig.gcc-15             
-54878     +64     .  -54814  -d61e  vmlinux.nosmp_defconfig.gcc-15       
-51306     +96   -64  -51274  -c84a  vmlinux.rv32_defconfig.gcc-15        
-49928     +64     .  -49864  -c2c8  vmlinux.rv32_nosmp_defconfig.gcc-15  
  -175       .     .    -175    -af  vmlinux.nommu_virt_defconfig.gcc-15  
-51546   -4000     .  -55546  -d8fa  vmlinux.defconfig.gcc-14             
-54146     +64     .  -54082  -d342  vmlinux.nosmp_defconfig.gcc-14       
-50974     +64   -64  -50974  -c71e  vmlinux.rv32_defconfig.gcc-14        
-49990     +96     .  -49894  -c2e6  vmlinux.rv32_nosmp_defconfig.gcc-14  
  -171       .     .    -171    -ab  vmlinux.nommu_virt_defconfig.gcc-14  
-48012    +128     .  -47884  -bb0c  vmlinux.defconfig.clang-19           
-46590     +96     .  -46494  -b59e  vmlinux.nosmp_defconfig.clang-19     
-47570     +64     .  -47506  -b992  vmlinux.rv32_defconfig.clang-19      
-46914     +64     .  -46850  -b702  vmlinux.rv32_nosmp_defconfig.clang-19
  -179     +64     .    -115    -73  vmlinux.nommu_virt_defconfig.clang-19
 +1340     +64     .   +1404   +57c  vmlinux.defconfig.gcc-13             
 +1380     +64     .   +1444   +5a4  vmlinux.nosmp_defconfig.gcc-13       
   +16     +64   -64     +16    +10  vmlinux.rv32_defconfig.gcc-13        
     .     +64     .     +64    +40  vmlinux.rv32_nosmp_defconfig.gcc-13  
  -171     +64   -64    -171    -ab  vmlinux.nommu_virt_defconfig.gcc-13  
-48100   -4000     .  -52100  -cb84  vmlinux.defconfig.clang-18           
-46248     +96     .  -46152  -b448  vmlinux.nosmp_defconfig.clang-18     
-47328     +96     .  -47232  -b880  vmlinux.rv32_defconfig.clang-18      
-46848     +96     .  -46752  -b6a0  vmlinux.rv32_nosmp_defconfig.clang-18
  -179       .     .    -179    -b3  vmlinux.nommu_virt_defconfig.clang-18
 +1272     +64     .   +1336   +538  vmlinux.defconfig.gcc-12             
 +1360     +64     .   +1424   +590  vmlinux.nosmp_defconfig.gcc-12       
    +8     +96   -64     +40    +28  vmlinux.rv32_defconfig.gcc-12        
     .     +96     .     +96    +60  vmlinux.rv32_nosmp_defconfig.gcc-12  
  -171     +64   -64    -171    -ab  vmlinux.nommu_virt_defconfig.gcc-12  
-51446     +96     .  -51350  -c896  vmlinux.defconfig.clang-17           
-46236     +96     .  -46140  -b43c  vmlinux.nosmp_defconfig.clang-17     
-47106     +64     .  -47042  -b7c2  vmlinux.rv32_defconfig.clang-17      
-46356     +96     .  -46260  -b4b4  vmlinux.rv32_nosmp_defconfig.clang-17
  -179     +64     .    -115    -73  vmlinux.nommu_virt_defconfig.clang-17
 +1276     +64     .   +1340   +53c  vmlinux.defconfig.gcc-11             
 +1396     +64     .   +1460   +5b4  vmlinux.nosmp_defconfig.gcc-11       
   +16     +96   -64     +48    +30  vmlinux.rv32_defconfig.gcc-11        
     .     +64     .     +64    +40  vmlinux.rv32_nosmp_defconfig.gcc-11  
  -155       .   -64    -219    -db  vmlinux.nommu_virt_defconfig.gcc-11  
-13158   -4096     .  -17254  -4366  vmlinux.allnoconfig.gcc-15           
+40288   +2908  -128  +43068  +a83c  vmlinux.allmodconfig.gcc-15          
-11930  +12288     .    +358   +166  vmlinux.allnoconfig.clang-19         
 +3980    +856     .   +4836  +12e4  vmlinux.allmodconfig.clang-19        

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

             reply	other threads:[~2026-07-19 16:47 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-19 16:47 Paul Walmsley [this message]
2026-07-19 19:57 ` [GIT PULL] RISC-V updates for v7.2-rc4 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ad692ed9-a217-5d59-3bbf-fdd7649056ba@kernel.org \
    --to=pjw@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox