Hi,
the case for cmpxchg64 is currently not handled, that's why it faults.
Could you make me available the go program or at least the code around
the call to __kuser_cmpxchg64?
Adam
On Wed Nov 13, 2019 at 08:45:22 +0530, Sateesh K wrote:
> Hi,
> My setup is as follows:
> l4linux 4.19.0-l4
> Fiasco.OC
> Raspberry Pi 3 Model B
>
> I am running a helloworld.go program which is causing the following stack
> trace.
>
> (gdb) bt full
> #0 0xffff0f60 in ?? ()
> No symbol table info available.
> #1 0x0001143c in kernelCAS64 ()
> at /usr/local/go/src/sync/atomic/asm_linux_arm.s:112
> No locals.
> #2 0x0001103c in sync/atomic.loadUint64 (addr=0x10442080, val=48)
> at /usr/local/go/src/sync/atomic/64bit_arm.go:10
> No locals.
> #3 0x00071f44 in internal/poll.(*fdMutex).rwlock (mu=0x10442080,
> read=false,
> ~r1=160) at /usr/local/go/src/internal/poll/fd_mutex.go:130
> mutexBit.lo = 4
> mutexMask.hi = 2147481600
> mutexMask.lo = 0
> mutexSema = 0x1044208c
> mutexWait.hi = 2048
> mutexWait.lo = 0
> #4 0x00072314 in internal/poll.(*FD).writeLock (fd=0x10442080, ~r0=...)
> at /usr/local/go/src/internal/poll/fd_mutex.go:237
> No locals.
> #5 0x00072a94 in internal/poll.(*FD).Write (fd=0x10442080, p=..., ~r1=0,
> ~r2=...) at /usr/local/go/src/internal/poll/fd_unix.go:243
> n = -1212420096
> nn = 118
> --Type <RET> for more, q to quit, c to continue without paging--c
> #6 0x00073958 in os.(*File).write (b=..., err=..., f=0x1040c0f0, n=2729821
> 44) at /usr/local/go/src/os/file_unix.go:243
> No locals.
> #7 0x00072ffc in os.(*File).Write (b=..., err=..., f=0x1040c0f0, n=0) at
> /usr/local/go/src/os/file.go:144
> err.data = 0x12c0e8 <fmt.ppFree> ""
> err.itab = 0x8b7a8 <fmt.Fprintln+20> "\004"
> ~r2.data = 0x10456014 ""
> ~r2.itab = 0x0
> #8 0x0008b7fc in fmt.Fprintln (a=..., err=..., n=233960, w=...) at
> /usr/local/go/src/fmt/print.go:255
> p = 0x10456080
> #9 0x0008b888 in fmt.Println (a=..., err=..., n=0) at
> /usr/local/go/src/fmt/print.go:264
> No locals.
> #10 0x000916c0 in main.main () at /home/pi/hello.go:6
> No locals.
>
> On further analysis, I find that segmentation fault is at
>
> __kuser_cmpxchg64.
>
> I have enabled CONFIG_KUSER_HELPERS=y when building the linux kernel.
>
> Any hint please on how to proceed.
>