Kernel Helpers segmentation fault

Sateesh K sateesh12 at gmail.com
Thu Nov 14 04:15:16 CET 2019


Hi Adam,

  Here is the complete .go program.
package main

import "fmt"

func main() {
    fmt.Println("hello world from go programming language")
}


And to answer if it is 32 or 64-bit binary, please see below output of file
utility.

hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically
linked, Go
BuildID=gC9PK9WBo_ghl7J9XKZw/EXIqZbziicwPf544V9T1/_kdOAvUVOHlv7C5XBtmH/uZiDJIL5HwkKBm2DLtFK,
with debug_info, not stripped


On Thu, Nov 14, 2019 at 4:02 AM Adam Lackorzynski <adam at os.inf.tu-dresden.de>
wrote:

> 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.
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20191114/9b07ac02/attachment.htm>


More information about the l4-hackers mailing list