* Dmitry Vyukov <dvyu...@google.com> wrote:

> On Tue, Mar 8, 2016 at 4:54 PM, Ingo Molnar <mi...@kernel.org> wrote:
> >
> > * Dmitry Vyukov <dvyu...@google.com> wrote:
> >
> >> > so, according to the error message it wants a writable directory. Lets 
> >> > try it that
> >> > way:
> >> >
> >> >  triton:~> mkdir go
> >> >  triton:~>
> >> >  triton:~> export GOPATH=/home/mingo/go/
> >> >  triton:~> go get github.com/google/syzkaller
> >> >  can't load package: package github.com/google/syzkaller: no buildable 
> >> > Go source files in /home/mingo/go/src/github.com/google/syzkaller
> >>
> >> Yes, GOPATH needs to be set a writable dir.
> >> You can ignore "can't load package" error. The goal of that step is
> >> checkout syzkaller with all dependencies into correct dirs under
> >> GOPATH. That's already done by now.
> >> Or you can do (/... at the end):
> >> $ go get github.com/google/syzkaller/...
> >> That will checkout and build.
> >> Either way you can continue with the make step.
> >
> > Cool, the '/...' trick works.
> >
> >
> >> > looks like someone wants 'Go' to be used as little as possible! ;-)
> >>
> >> You probably did not observe recently a noobie trying to build a C
> >> project with sufficiently-complicate-build-system and a bunch of
> >> dependencies that needs to be on specific, unknown revisions, and that
> >> still does not compile with you compiler and does not link with your
> >> linker, and then of course target machine has a wrong glibc version :)
> >
> > Nah, old Linux tools very much suck, we know that and we suffer from it.
> >
> > But new tools should not suck! :-)
> >
> > So, going from the description at:
> >
> > http://lkml.kernel.org/r/CACT4Y+Ym0TZLkmRrM0ZGgLpu8kqS-YjoWTMrvaLz=tx2tny...@mail.gmail.com
> >
> > I now have it built, and created 
> > $GOPATH/src/github.com/google/syzkaller/perf.cfg
> > with:
> >
> >
> > triton:~/go/src/github.com/google/syzkaller> cat perf.cfg
> > {
> >         "http": "localhost:50000",
> >         "workdir": "/home/mingo/go/src/github.com/google/syzkaller/workdir",
> >         "syzkaller": "/home/mingo/go/src/github.com/google/syzkaller",
> >         "vmlinux": "-",
> >         "type": "local",
> >         "count": 1,
> >         "procs": 16,
> >         "nocover": true,
> >         "nodropprivs": true,
> >         "enable_syscalls": [
> >                 "getpid",
> >                 "perf_event_open",
> >                 "ioctl$PERF*",
> >                 "prctl$void",
> >                 "bpf$*",
> >                 "sched_yield"
> >         ]
> > }
> >
> > Then I tried to do:
> >
> >    $ bin/syz-manager -config perf.cfg
> >
> > in ~/go/src/github.com/google/syzkaller, but that doesn't work because 
> > there's no
> > 'bin' directory:
> >
> >   triton:~/go/src/github.com/google/syzkaller> bin/syz-manager -config 
> > perf.cfg
> >   bash: bin/syz-manager: No such file or directory
> >
> > So that should really read something like:
> >
> >   cd ~/go
> >   bin/syz-manager -config src/github.com/google/syzkaller/perf.cfg
> >
> > next roadblock:
> >
> > fomalhaut:~/go> bin/syz-manager -config 
> > src/github.com/google/syzkaller/perf.cfg
> > 2016/03/08 16:53:44 bad config syzkaller param: can't find bin/syz-fuzzer
> >
> > so how do I proceed from here?
> 
> 
> You need to call make in syzkaller dir, it will create
> syzkaller/bin/syz-manager. I.e.
> 
> $ cd /home/mingo/go/src/github.com/google/syzkaller
> $ make

Ok, cool, this got me further.

> $ bin/syz-manager -config perf.cfg

I now get periodic output of:

fomalhaut:~/go/src/github.com/google/syzkaller> bin/syz-manager -config 
src/github.com/google/syzkaller/perf.cfg
2016/03/08 17:24:07 failed to read config file: open 
src/github.com/google/syzkaller/perf.cfg: no such file or directory
fomalhaut:~/go/src/github.com/google/syzkaller> bin/syz-manager -config perf.cfg
2016/03/08 17:24:19 loading corpus...
2016/03/08 17:24:19 loaded 0 programs
2016/03/08 17:24:19 serving http on http://localhost:50000
2016/03/08 17:24:19 serving rpc on tcp://127.0.0.1:37006
2016/03/08 17:24:34 local-0: saving crash 'BUG: /sys/kernel/debug/kcov is 
missing (permission denied). Enable CONFIG_KCOV and mount debugfs.' to 
crash-local-0-1457454274467286949
2016/03/08 17:24:34 local-0: lost connection: exit status 1
2016/03/08 17:24:34 local-0: saving crash 'lost connection' to 
crash-local-0-1457454274467603509
2016/03/08 17:24:49 local-0: saving crash 'BUG: /sys/kernel/debug/kcov is 
missing (permission denied). Enable CONFIG_KCOV and mount debugfs.' to 
crash-local-0-1457454289719432704
2016/03/08 17:24:49 local-0: lost connection: exit status 1
2016/03/08 17:24:49 local-0: saving crash 'lost connection' to 
crash-local-0-1457454289719774031
2016/03/08 17:25:04 local-0: saving crash 'BUG: /sys/kernel/debug/kcov is 
missing (permission denied). Enable CONFIG_KCOV and mount debugfs.' to 
crash-local-0-1457454304992856310
2016/03/08 17:25:04 local-0: lost connection: exit status 1
2016/03/08 17:25:04 local-0: saving crash 'lost connection' to 
crash-local-0-1457454304993224299
2016/03/08 17:25:20 local-0: saving crash 'BUG: /sys/kernel/debug/kcov is 
missing (permission denied). Enable CONFIG_KCOV and mount debugfs.' to 
crash-local-0-1457454320280216980
2016/03/08 17:25:20 local-0: lost connection: exit status 1
2016/03/08 17:25:20 local-0: saving crash 'lost connection' to 
crash-local-0-1457454320280581459
2016/03/08 17:25:35 local-0: saving crash 'BUG: /sys/kernel/debug/kcov is 
missing (permission denied). Enable CONFIG_KCOV and mount debugfs.' to 
crash-local-0-1457454335572633035
2016/03/08 17:25:35 local-0: lost connection: exit status 1
2016/03/08 17:25:35 local-0: saving crash 'lost connection' to 
crash-local-0-1457454335572967343
2016/03/08 17:25:50 local-0: saving crash 'BUG: /sys/kernel/debug/kcov is 
missing (permission denied). Enable CONFIG_KCOV and mount debugfs.' to 
crash-local-0-1457454350865099485
2016/03/08 17:25:50 local-0: lost connection: exit status 1
2016/03/08 17:25:50 local-0: saving crash 'lost connection' to 
crash-local-0-1457454350865429049

is CONFIG_KCOV=y a must-have feature? There's no KCOV support upstream that I 
can 
see.

Thanks,

        Ingo

Reply via email to