Re: [PATCH 0/4] Fix a segmentation fault also add raid6test for RISC-V support
From: Chunyan Zhang
Date: Tue Jun 10 2025 - 22:09:23 EST
Hi Alex,
On Wed, 11 Jun 2025 at 03:23, Alexandre Ghiti <alex@xxxxxxxx> wrote:
>
> Hi Chunyan,
>
> On 6/10/25 12:12, Chunyan Zhang wrote:
> > The first two patches are fixes.
> > The last two are for userspace raid6test support on RISC-V.
> >
> > The issue fixed in patch 2/4 was probably the same which was spotted by
> > Charlie [1], I couldn't reproduce it at that time.
> >
> > When running raid6test in userspace on RISC-V, I saw a segmentation fault,
> > I used gdb command to print pointer p, it was an unaccessible address.
>
>
> Can you give me your config, kernel and toolchain versions? I can't
> reproduce the segfault on my machine.
I can use the below combination to reproduce:
- riscv/configs/defconfig
- Kernel v6.16-rc1
- Cross-compile toolchain [1] for building kernel which brings up QEMU
(running Ubuntu 22.04)
- Two choices for compiling raid6test program after applying patches 3-4:
1) Use toolchain [1] to cross-compile it as statically linked.
2) Compile it locally on QEMU (running Ubuntu 22.04) with local riscv gcc:
root@riscv-ubuntu2204:~# gcc --version
gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
Thanks,
Chunyan
[1] https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2025.05.30/riscv64-glibc-ubuntu-22.04-gcc-nightly-2025.05.30-nightly.tar.xz
>
> Thanks for the fixes and the test, I'll take a look this week.
>
> Alex
>
>
> >
> > With patch 2/4, the issue didn't appear anymore.
> >
> > [1] https://lore.kernel.org/lkml/Z5gJ35pXI2W41QDk@ghost/
> >
> > Chunyan Zhang (4):
> > raid6: riscv: clean up unused header file inclusion
> > raid6: riscv: Fix NULL pointer dereference issue
> > raid6: riscv: Allow code to be compiled in userspace
> > raid6: test: add support for RISC-V
> >
> > lib/raid6/recov_rvv.c | 9 +-----
> > lib/raid6/rvv.c | 62 +++++++++++++++++++++--------------------
> > lib/raid6/rvv.h | 15 ++++++++++
> > lib/raid6/test/Makefile | 8 ++++++
> > 4 files changed, 56 insertions(+), 38 deletions(-)
> >