[PATCH 5/7] riscv/word-at-a-time: Instrument load_unaligned_zeropad()
From: Bill Wendling
Date: Fri Sep 11 2026 - 03:14:39 EST
Convert riscv to the arch_load_unaligned_zeropad() /
load_unaligned_zeropad() split introduced for x86 earlier in this
series, so KASAN/KCSAN also see reads through load_unaligned_zeropad()
on this architecture.
Assisted-by: Claude:claude-sonnet-5
Signed-off-by: Bill Wendling <morbo@xxxxxxxxxx>
---
Cc: Paul Walmsley <pjw@xxxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>
Cc: Albert Ou <aou@xxxxxxxxxxxxxxxxx>
Cc: Alexandre Ghiti <alex@xxxxxxxx>
Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
---
arch/riscv/include/asm/word-at-a-time.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/riscv/include/asm/word-at-a-time.h b/arch/riscv/include/asm/word-at-a-time.h
index 3802cda71ab7..a4294b50c918 100644
--- a/arch/riscv/include/asm/word-at-a-time.h
+++ b/arch/riscv/include/asm/word-at-a-time.h
@@ -56,7 +56,7 @@ static inline unsigned long find_zero(unsigned long mask)
* and the next page not being mapped, take the exception and
* return zeroes in the non-existing part.
*/
-static inline unsigned long load_unaligned_zeropad(const void *addr)
+static inline unsigned long arch_load_unaligned_zeropad(const void *addr)
{
unsigned long ret;
@@ -71,6 +71,8 @@ static inline unsigned long load_unaligned_zeropad(const void *addr)
return ret;
}
+#include <asm-generic/word-at-a-time-instrumented.h>
+
#endif /* CONFIG_DCACHE_WORD_ACCESS */
#endif /* _ASM_RISCV_WORD_AT_A_TIME_H */
--
2.47.3