File project.diff of Package syzkaller
--- _service.orig
+++ _service
@@ -1,16 +1,14 @@
<services>
- <service mode="localonly" name="tar_scm">
+ <service mode="disabled" name="tar_scm">
<param name="url">git://github.com/google/syzkaller/</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="filename">syzkaller</param>
<param name="versionformat">0.0+git.%cd</param>
-<!-- golang is broken in opensuse, we have to use this old one -->
- <param name="revision">5a6ebade952c18db62a49ad9272021e450dc9136</param>
</service>
- <service mode="localonly" name="recompress">
+ <service mode="disabled" name="recompress">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
- <service mode="localonly" name="set_version"/>
+ <service mode="disabled" name="set_version"/>
</services>
--- _servicedata.orig
+++ _servicedata
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/google/syzkaller/</param>
- <param name="changesrevision">5a6ebade952c18db62a49ad9272021e450dc9136</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">17f8d6a03dac0bad8ef0a014d10cdcdcc463a7cf</param></service></servicedata>
\ No newline at end of file
--- syzkaller.changes.orig
+++ syzkaller.changes
@@ -1,4 +1,1026 @@
-------------------------------------------------------------------
+Tue Oct 24 11:37:55 UTC 2017 - jslaby@suse.com
+
+- install files differently
+
+-------------------------------------------------------------------
+Mon Oct 16 13:24:40 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20171016:
+ * Makefile: strip executor
+ * executor: fix akaros nonfailing mode
+ * executor, pkg/ipc: unify ipc protocol between linux and other OSes
+ * pkg/csource: support akaros
+ * executor: add akaros support
+ * sys/akaros: add akaros support
+ * tools/syz-prog2c: allow to specify target OS
+ * sys/linux: fix fcntl signature
+ * pkg/host: add akaros support
+ * sys/syz-extract: support akaros
+ * executor: pass attr to pthread_mutex/cond_init
+ * executor: write debug output to stderr
+ * tools/syz-stress: allow to specify target OS
+ * executor: add PC to kcov_comparison_t
+ * pkg/ipc: don't send program padding to executor
+ * sys/syz-extract: support freebsd
+ * sys/syz-extract: factor out compilation function
+ * pkg/ipc, pkg/osutil: remove filepath.Abs fuchsia workarounds
+ * executor: simple freebsd executor
+ * syz-manager: expose raw cover in http handler
+ * Update found_bugs_usb.md
+ * executor: include missing header
+ * pkg/ipc: extend error when fail to start executor
+ * executor: set own PATH when starting subprocesses
+ * syz-manager/mgrconfig: add gce examples
+ * Update found_bugs_usb.md
+ * Update setup_linux-host_qemu-vm_arm64-kernel.md
+ * Update found_bugs_usb.md
+ * Update setup_linux-host_android-device_arm64-kernel.md
+ * syz-fuzzer: don't send/check CallIndex for inputs
+ * Update found_bugs_usb.md
+ * Update found_bugs_usb.md
+ * Update found_bugs_usb.md
+ * Update found_bugs_usb.md
+ * Update found_bugs_usb.md
+ * Update found_bugs_usb.md
+ * Update found_bugs.md
+ * Create found_bugs_usb.md
+ * all: basic freebsd support
+ * vm/qemu: add freebsd support
+ * tools/syz-prog2c: import targets
+ * syz-fuzzer: use osutil.HandleInterrupts instead of custom code
+ * Makefile: per-install packages during arch build
+ * executor: support fragmentation in syz_emit_ethernet
+ * Update found_bugs.md
+ * sys/fuchsia: add more descriptions
+ * sys/linux: include additional header to ion.txt
+ * Update found_bugs.md
+ * pkg/kd: add KD protocol decoder
+ * docs: assorted windows instructions fixes
+ * vm/gce: fix GCE image check
+ * Update found_bugs.md
+ * sys/windows: add more descriptions
+ * docs: update syz-stress command line for fuchsia
+ * vm/gce: windows support
+ * executor: automatically infer base of root vmar
+ * Makefile: name windows executables with .exe suffix
+ * pkg/ipc: fix windows
+ * executor: fix execution of windows syscalls
+ * syz-fuzzer: port to windows
+ * Update found_bugs.md
+ * Makefile, sys/syz-extract: fix android
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * Makefile: add fuchsia support
+ * executor, sys/windows: initial windows support
+ * pkg/ipc: windows port
+ * pkg/osutil: windows port
+ * pkg/host: add windows stub
+ * Update found_bugs.md
+ * vm/qemu: fix typo
+ * sys/fuchsia: describe more syscalls
+ * vm/qemu: initial multi-OS support
+ * sys/syz-extract: support fuchsia
+ * syz-manager: make vmlinux optional
+ * pkg/report: suppress another android boot message
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * pkg/csource: disable linux/386 tests
+ * pkg/repro: fix nil target in prog
+ * all: more assorted fuchsia support
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * sys/fuchsia: fix build
+ * Makefile: don't build 386 executor on travis
+ * all: initial support for fuchsia
+ * executor: split source per-OS
+ * Makefile: respect target os/arch in individual targets
+ * executor: remove unused headers
+ * pkg/host: add fuchsia support
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * travis: another guess at right packages and syntax
+ * sys/linux: improve user_desc description
+ * syz-manager: don't take mutex when serving static files
+ * travis: also install 32-bit libstdc++
+ * dashboard/app, syz-ci: upload target OS/arch to dashboard
+ * Makefile: build target binaries into separate dirs
+ * travis: install cross-compilers
+ * Update found_bugs.md
+ * sys/targets: move targets from sys package
+ * pkg/compiler: don't genererate missing syscalls
+ * syz-manager: check that files we are using are not changing under us
+ * syz-manager, syz-fuzzer, executor: ensure that binaries are consistent
+ * pkg/csource: support archs other than x86_64
+ * prog: remove default target and all global state
+ * vm/qemu: tune some qemu arguments based on target arch
+ * sys/syz-extract: generate build files out of tree
+ * sys/syz-extract: generate multiple arches at once
+ * sys/syz-extract: use consolidated target info
+ * sys/syz-extract: switch to consolidated target info in sys package
+ * sys: consolidate info about various targets
+ * prog: remove special knowledge about "mmap" syscall
+ * syz-fuzzer, syz-execprog: add -arch flag
+ * vm/vmimpl: add target OS/arch to env
+ * syz-manager/mgrconfig: explicitly specify target in config
+ * sys: compile all supported targets into the package
+ * sys/syz-extract: parallelize over files
+ * sys: move extract.sh to sys/linux
+ * sys/linux: rename package from sys to linux
+ * sys: move linux descriptions to sys/linux
+ * prog: allow more than 1 target
+ * sys: regenerate consts with tip linux
+ * dashboard/app: fix a bug with bugs with seq>0
+ * Update syscall_descriptions_syntax.md
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * Update found_bugs.md
+ * Update setup_ubuntu-host_qemu-vm_x86-64-kernel.md
+ * docs: add more prerequisites on ubuntu
+ * prog: remove unused declaration
+ * executor: fix 32-bit mode
+ * sys: use correct pointer size
+ * sys: add new perf attribute flag
+ * prog: move resource-related functions to a separate file
+ * prog, sys: move dictionary of special strings to sys
+ * sys: improve timespec/timeval generation
+ * Update found_bugs.md
+ * prog, sys: move types to prog
+ * prog: dot-import sys
+ * sys: rename Call to Syscall
+ * pkg/compiler: assign Call.ID statically
+ * sys: use ptr64 type instead of ptr where necessary
+ * pkg/compiler: fix alignment calculation bug
+ * sys: change BitfieldLast to BitfieldMiddle
+ * sys: remove IntSignalno
+ * sys, pkg/compiler: move padding computation to compiler
+ * pkg/ast: prohibit empty strings
+ * sys: minor fixes for statx and sigevent
+ * pkg/ifuzz: use serializer
+ * pkg/compiler: prohibit arrays of size 0
+ * pkg/compiler: prohibit bitfields of size 0
+ * pkg/compiler: don't allow bitfields in unions, args and anon types
+ * pkg/compiler: move bitfield marking from sys
+ * pkg/compiler: prohibit bitfields in syscall args
+ * pkg/compiler: reserve in/out/inout/opt names
+ * prog: move ptrSize const to test
+ * sys: don't assume vma size is 8
+ * pkg/compiler: use correct arch ptr size
+ * pkg/compiler: detect resources without ctors
+ * pkg/compiler: verify validity of len targets
+ * pkg/compiler: move checking code to a separate file
+ * pkg/compiler: detect recursive struct declarations
+ * pkg/ast: fix struct comment parsing
+ * sys: allow custom size for PtrType
+ * sys: support ptr64 type
+ * sys: improve bpf descriptions
+ * pkg/compiler: restore generation of unsupported syscalls
+ * pkg/compiler: check and generate types
+ * hints: add some more tests for DataArg
+ * sys: add AF_PACKET sockets description
+ * hints: add new mutations and tests
+ * Update linux_kernel_reporting_bugs.md
+ * Update linux_kernel_reporting_bugs.md
+ * sys: export struct/union attributes
+ * sys: change proc arguments to the format used by const/flags/len
+ * Fix reboot support for VM isolated
+ * ipc, prog, fuzzer, execprog: add hints generation code
+ * executor, ipc: modify the IO between KCOV<->executor<->fuzzer
+ * executor, fuzzer: change the way Syzkaller opens the KCOV device
+ * pkg/report: don't confuse "DEBUG:" with "BUG:"
+ * pkg/compiler: actually tolerate unsupported consts
+ * pkg/compiler: tolerate unsupported consts everywhere
+ * pkg/compiler: more static error checking
+ * docs: fix syz-headerparser documentation
+ * pkg/compiler: move more const-processing code to compiler
+ * sys/syz-sysgen: remove dead code
+ * pkg/compiler, sys/syz-sysgen: move const handling to pkg/compiler
+ * prog: restore missing struct fields
+ * sys: improve tun descriptions
+ * tools: add headerparser as a tool to assist in writing system call descriptions
+ * executor: split a too long line
+ * all: support i386 arch
+ * sys: support arm arch
+ * sys, prog: switch values to to uint64
+ * syz-manager: remove unnecessary type conversion
+ * pkg/kernel: remove unused function
+ * vm/vmimpl: support linux/arm
+ * sys/syz-sysgen: switch to new parser
+ * sys/syz-extract: switch to the new parser
+ * Makefile: enforce formatting of sys files in presubmit
+ * sys: reformat descriptions
+ * pkg/ast: new parser for sys descriptions
+ * sys: fix a single case of field starting from a digit
+ * dashboard/app: heavylifting of email reporting
+ * docs: add landing page for automatically reported bugs
+ * sys: add some known xattr names
+ * prog: simplify code
+ * sys: describe clone/execve calls
+ * sys: describe chroot/getcwd/chdir/fchdir
+ * tools/create-gce-image.sh: explicitly specify target for grub
+ * .travis.yml: test with Go1.8
+ * dashboard/app: various improvements/fixes for email reporting
+ * dashboard/app: fix build again
+ * tools/syz-benchcmp: add execution speed
+ * dashboard/app: tell managers when dashboard needs a repro
+ * dashboard/app: don't print resource for log records
+ * vendor/golang.org/x/net/context/: fix fmt with Go 1.8
+ * dashboard/app: show syzkaller commit for crashes
+ * Update executing_syzkaller_programs.md
+ * pkg/repro: minimize fault injection
+ * pkg/repro: fix invalid options minimization
+ * pkg/csource, pkg/repro: filter out invalid options combinations
+ * sys: commit generated files
+ * sys: fix typo in ETHTOOLGCHANNELS const and diagnose such cases
+ * sys: provide list of intersting MSRs for KVM
+ * prog: reuse defaultArg
+ * sys: fix recvmmsg signature
+ * prog: fix restoration of default arguments
+ * pkg/log: fix tests with -count>0
+ * prog: reduce the "uber-mmap" size
+ * dashboard/app: fix build
+ * dashboard/app: output more info about crashes
+ * executor: sandbox with RLIMIT_MEMLOCK
+ * vm/gce: work around GCE console bug
+ * vendor: update all packages
+ * .travis.yml: use go1.9rc1 since aliases trip gofmt for vendored code
+ * syz-manager: don't ask for repros if reproducing is not enabled
+ * syz-manager: don't save/send to dashboard repros from hub
+ * syz-manager: send more info with repros
+ * syz-manager, syz-hub: share repros between managers via hub
+ * sys: improve ipv6 descriptions
+ * dashboard/app: fix report_failed_repro api call
+ * Update linux_kernel_reporting_bugs.md
+ * Update linux_kernel_reporting_bugs.md
+ * syz-dash, syz-gce: remove
+ * dashboard/app: purge at most 10 crashes at once
+ * prog: don't mutate mmap() calls too often
+ * dashboard/app: new dashboard app
+ * sys: fix KVM_RUN ioctl
+ * prog: generate missing syscall args when decoding
+ * prog: fix encoding for exec of result args
+ * syz-ci: support additional syscall descriptions
+ * vm/gce: another attempt to fix trimmed console output
+ * prog: properly remove calls when splicing progs
+ * syz-ci: send commits to dashboard
+ * readme: add travis-ci status
+ * buildbot: add .travis.yml
+ * makefile: cleanup
+ * dashboard/dashapi: add support for bug fixing commits
+ * pkg/repro: fix null-ptr-deref when res is nil
+ * pkg/repro: fix simplifying threaded flag
+ * vm/gce: fix truncated console output
+ * dashboard/dashapi: always zero reply
+ * dashboard/dashapi: add link to BugUpdate and BugUpdateReply type
+ * dashboard/dashapi: don't send manager name in crashes
+ * pkg/symbolizer: fix race on inputr in test
+ * pkg/report: fix symbolization of old KASAN stack trace format
+ * docs: small fixes
+ * prog: return error instead of panic when parsing
+ * pkg/repro: disable Debug flag by default
+ * pkg/csource: make all usleeps random
+ * pkg/repro: try extracting C repro before simplifying options
+ * dashboard/dashapi: add customizable Qeury function
+ * syz-ci: extend dashboard interface
+ * syz-ci: save previous manager log
+ * syz-manager: fix repro saving
+ * pkg/hash: allow to hash multiple byte slices
+ * syz-manager: don't print empty tag on report page
+ * syz-manager: fix repro log filename
+ * pkg/report: replace lines numbers with LINE in report headers
+ * prog: allow recursion for optional pointers
+ * pkg/repro: save final crash log
+ * syz-ci: fix dashboard settings in manager config
+ * Update linux_kernel_configs.md
+ * vm/isolated: reformat
+ * Add Isolated VM
+ * tools/create-gce-image.sh: ignore SIGINT
+ * pkg/kernel: actually pass cmdline/sysctl files to the build script
+ * prog: split Arg into smaller structs
+ * syz-ci: allow to specify cmdline/sysctls
+ * syz-ci: don't duplicate manager config default values
+ * syz-ci: specify dashboard client per manager
+ * tools/create-image.sh: create 2G images
+ * syz-manager: symbolize repro reports
+ * Update found_bugs.md
+ * syz-manager: save proper report for reproducers
+ * pkg/email: fix bug in context extraction
+ * pkg/email: add AddAddrContext/RemoveAddrContext
+ * pkg/csource: reformat
+ * syz-ci: don't rebuild syzkaller if commit has not changed
+ * pkg/csourse: don't generate __NR_X defines for old syscalls
+ * pkg/repro: return crash report
+ * pkg/email: don't add own email address to CC list
+ * pkg/osutil: don't depend on syscall in appengine build
+ * syz-ci: fix manager config creation
+ * all: use consistent file permissions
+ * pkg/report: strip panic message from reports
+ * pkg/email: add function that forms reply to an email
+ * pkg/email: add email parsing functionality
+ * pkg/email: move patch parsing from pkg/kernel
+ * syz-manager: switch to the new dashboard
+ * syz-ci: switch to the new dashboard
+ * dashboard/dashapi: add API for new dashboard
+ * syz-ci: extend build info
+ * tools/syz-symbolize: add report mode
+ * syz-manager: output maintainers in html reports
+ * pkg/report: change arg of ExtractGuiltyFile to []byte
+ * pkg/config: support time.Time fields
+ * vm/gce: support debug mode
+ * vendor: add google.golang.org/appengine/mail
+ * syz-hub: split client name and manager name
+ * repro: fix tests (#266)
+ * docs: add instructions on reporting security bugs
+ * Fix incorrect argument in syz-tty (#260)
+ * repro, manager: show repro logs and stats on manager dashboard
+ * prog: fix PtrType generation
+ * repro: add 1 minute duration
+ * vm: increase stored log size to 1 MB
+ * repro: add bisection test
+ * repro: bisect the log to find multiple guilty programs
+ * vm/adb: add an option to disable battery check
+ * vm/vmimpl: fix linux/ppc64le build
+ * Restore TCGETS2 (#256)
+ * report: add get maintainers function
+ * tools/syz-tty: add utility for testing of usb console reading code
+ * Add 'make android' target and document it (#255)
+ * Makefile: actually cross-compile during presubmit
+ * vm/vmimple: fix build and reformat
+ * pkg/csource: regenerate
+ * Port console to Darwin (#253)
+ * repro: reproExtractProg may fail (#254)
+ * report: add more rcu stall regexps
+ * pkg/osutil: port to darwin
+ * pkg/fileutil: port to darwin
+ * sys/syz-extract: reformat
+ * Parse incdir "incdir" in syscall description file to add custom include directories. (#180)
+ * syz-dash/dashboard: move from dashboard
+ * vendor: vendor appengine/aetest package
+ * vendor: vendor appengine dependencies
+ * syz-dash: fix build
+ * Added GCC and glibc
+ * Update found_bugs.md
+ * syz-ci: add continuous integration system
+ * pkg/osutil: add FilesExist/CopyFiles/LinkFiles functions
+ * pkg/kernel: move partial config functionality into a separate function
+ * pkg/fileutil: improve CopyFile
+ * pkg/git: improve Poll
+ * dashboard: add New function
+ * repro: small log fix
+ * repro: try more programs with short duration
+ * repro: split ctx.repro() into smaller methods
+ * repro: move duration to Result
+
+-------------------------------------------------------------------
+Wed Jun 21 12:29:20 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170621:
+ * Update README.md
+ * sys: add a new test for resource ctors
+ * prog: extend output on validation error
+ * Update README.md
+ * Update README.md
+ * tools: repro: fix vm count calculation
+ * statx: update flags
+ * statx: generate constants for updated flags
+ * report: add a few report header regexps
+ * tools: repro: fix vm count calculation
+ * executor: move inet checksum code under ifdef
+ * executor: call flush_tun for repeat repros
+ * csource: add EnableTun option
+ * executor: split setup_main_process into smaller functions
+ * csource: use tmp dir only when necessary
+ * executor: don't define SYZ_ENABLE_TUN in executor
+ * csource: only handle SIGSEGV when necessary
+ * csource: force enable tun flag when required
+ * csource: emit bitmasks only when required
+ * csource: use sandbox only when required
+ * csource: try to simplify repeat loop
+ * csourse: don't generate debug printfs
+ * csource: only emit fail(), exitf() and doexit() when necessary
+ * csource: use tmp dir in repeat loop when tmpdir flag is on
+ * csource: don't generate execute_syscall calls
+ * csource: generate includes when necessary
+ * prog2c: use 1 prog by default
+ * repro: always minimize over EnableTun
+ * csource: speed up short tests
+ * csource: don't use guard macros for debug() and NONFAILING()
+ * csource: use reflect to iterate over options
+ * executor: add sys/sysmacros.h include for makedev in newer gcc
+ * executor: reformat
+ * csource: reformat
+ * sys: check in generated files
+ * executor: fix clang-tidy warnings
+ * vendor: vendor dependencies
+ * report: extract guilty file
+ * vendor: switch from dep to godep
+ * syz-dash: move patch parsing to pkg/kernel
+ * makefile: generate: do go generate && format
+ * makefile: add db target to build syz-db
+ * makefile: list generated packages
+ * executor: fix csum test
+ * executor: fix compiler warnings in test
+ * docs: move contributing section from README to docs/
+ * docs: move reporting kernel bugs page from wiki
+ * pkg/kernel: skip test if gcc is not in PATH
+ * docs: move sys/README.md to docs
+ * docs: move found bugs page from wiki
+ * docs: move syz-hub page from wiki
+ * docs: move executing syzkaller page from wiki
+ * docs: move kernel configs page from wiki
+ * executor: handle EACCES errno when opening /dev/kvm in test
+ * docs: move exeprog, prog2c, repro page from wiki
+ * docs: move setup pages from wiki
+ * docs: minor clean up
+ * syz-hub: fix copy-paste error in httpSummary()
+ * docs: move parts of README to docs
+ * docs: various improvements
+ * sys: use consistent icmp socket syscall names
+ * pkg/git: fix git fetch command line
+ * tools/create-gce-image.sh: add nmi_watchdog=panic to cmd line
+ * vm/qemu: update kernel command line
+ * pkg/kernel: add an option to provide full config for build
+ * syz-manager: improve vm management during repro
+ * syz-manager: fix bug in repro logic
+ * syz-manager: delete old corpus support
+ * docs: say that Suzy-Q is not necessary
+ * repro: better guilty file detection
+ * fix the ssh port option in the doc
+ * pkg/osutil: add IsExist helper function
+ * all: use osutil.IsExist instead of os.Stat
+ * syz-manager/config: rename to syz-manager/mgrconfig
+ * syz-manager/mgrconfig: allow loading from memory
+ * pkg/host: move from host
+ * pkg/repro: move from pkg
+ * pkg/cover: move from cover
+ * pkg/csource: move from csource
+ * pkg/ipc: move from ipc
+ * pkg/report: move from report
+ * pkg/rpctype: from from rpctype
+ * pkg/symbolizer: move from symbolizer
+ * sys/sysparser: move from sysparser
+ * sys/syz-sysgen: from from sysgen
+ * sys/syz-extract: move from syz-extract
+ * delete .clang-format.email
+ * syz-manager/mgrconfig: remove output param
+ * syz-manager/mgrconfig: move sshkey from vm config to manager config
+ * tools/create-gce-image.sh: don't use verbose output for tar invocation
+ * vm/gce: accept un-tar-ed image
+ * syz-gce: create image dir
+ * vm/gce: fix image archive creation
+ * pkg/config: add SaveFile function
+ * pkg/fileutil: improve CopyFile
+ * pkg/git: check origin repo in Poll
+ * pkg/log: add Fatal function
+ * pkg/osutil: add helper function for SIGINT handling
+ * pkg/osutil: fix IsExist
+ * pkg/kernel: fix CreateImage
+ * pkg/kernel: reduce Build parallelism
+ * sys: add ETHTOOL ioctl in socket.txt
+ * arm64 doc update
+ * Update found_bugs.md
+ * Update linux_kernel_reporting_bugs.md
+ * Update found_bugs.md
+
+-------------------------------------------------------------------
+Tue Jun 06 09:46:25 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170604:
+ * Add sudo for mkfs.ext4
+ * sys: add basic AF_IPX descriptions
+ * sys: add basic AF_AX25 descriptions
+ * sys: rearrange and improve socket.txt
+ * sys: add loopback and syzN devices to devname
+ * report: more regexps for parsing report header lines
+ * report: add regexes for rcu detected stall
+ * sys: add more socket ioctls
+ * sys: move ipv6 sockets to its own file
+ * sys: add ipv4 arp ioctls
+ * sys: use consistent setsockopt$inet* syscall names for ip options
+ * sysgen: always check dir when generating an argument
+ * sys: use consistent ioctl$sock* name for socket ioctls
+ * sys: use consistent setsockopt$type_* names for socket options
+ * sys: add more ip ioctls
+ * sys: use ipv4_addr & ipv6_addr instead of in_addr & in6_addr
+ * sys: add more ipv6 ioctls
+ * sys: add more tcp ioctls
+ * sys: add more udp ioctls
+ * sys: add more tcp socket options
+ * sys: consistent names for ip sockets
+ * sys: fix sendmmsg and recvmmsg
+ * sys: add some ipv6 socket options
+ * sys: rename sockaddr_all to sockaddr_storage
+ * sys: add some ip socket options
+ * sys: add more ipv6 socket options
+ * sys: make ifindex a resource
+ * sys: add syscall description for /dev/ion.
+ * sys: add syscall description for /dev/ion.
+ * syz-dash: fix group creation with seq>0
+ * syz-dash: add a note about a known problem
+ * executor: bump per-call timeout
+ * prog: fix dynamic prio calculation
+ * gce: use 'reproduce: true' in manager cfg
+ * gce: rename MetaGeneration to Metageneration
+ * syz-gce: speedup kernel checkout
+ * gce: use name metadata to get instance name
+ * syz-gce: allow to disable dashboard patches
+ * syz-dash: show username for auth failures
+ * csource: strip __STDC_VERSION__ macro from generated source
+ * Update README.md
+ * executor: rename test_kvm.cc to test_executor.cc
+ * prog, executor: move checksum computation to executor
+ * repro: quick return when user press ctrl^C
+ * Update README.md
+ * Update README.md
+ * ipc: add an optional 'abort' signal
+ * ipc: allow configuration of executor output buffer size
+ * vm: validate if cfg.Bin is in $PATH for kvm,adb,qemu
+ * manager: do not print "executed programs" until first connection from test machine. add my name to contributors
+ * AUTHORS/CONTRIBUTORS: fixup
+ * executor: mount /proc in namespace
+ * ipc: fix test build
+ * executor: increase syscall timeout in debug mode
+ * syz-symbolize: symbolize all console output
+ * syz-hub: send new inputs in smaller parts
+ * Update README.md
+ * manager: save and reuse allSymbols, vmOffset
+ * syz-manager: reformat
+ * syz-fuzzer: implement input smashing
+ * csource: regenerate
+ * sys, executor: extract tcp sequence numbers from /dev/net/tun
+ * prog: better validate int and buffer types
+ * prog: remove unexpected resource generation calls whitelist
+ * sys: refactor and improve SCTP socket descriptions
+ * prog: fix buffer type with value 0x0 in tests
+ * all: add fault injection capability
+ * csource: reproduce crashes with fault injection
+ * all: speed up tests
+ * symbolizer: use fixed prebuilt binary in test
+ * Makefile: don't generate DWARF for Go binaries
+ * sys: generate arrays instead of maps
+ * sysgen: don't touch output file if contents has not changed
+ * sysgen: speed up
+ * report: add more oops formats
+ * sys: add basic AF_LLC sockets descriptions
+ * sys: remove debug leftover
+ * Update README.md
+ * all: cleanup executor/ipc status checking
+ * syz-manager: detect sandbox namespace unsupported
+ * config: use reflect to enumerate all known fields rather than do it manually
+ * executor: limit stack frame size
+ * config: split and refactor
+ * Update README.md
+ * pkg/git: add new package
+ * Update README.md
+ * sys: add statx syscall
+ * tools: sync create-image.sh and create-gce-image.sh
+ * tools: more reliable network config in create-gce-image.sh
+ * csource: regenerate
+ * pkg/kernel: add new package
+ * fileutil: remove unused CopyFile arg
+ * pkg/fileutil: move from fileutil
+ * pkg/gcs: add new package
+ * pkg/kernel: add CompilerIdentity function
+ * pkg/hash: move from hash
+ * pkg/log: move from log
+ * pkg/db: move from db
+ * pkg/gce: move from gce
+ * pkg/ifuzz: move from ifuzz
+ * pkg/config: support nested structs
+ * vm: overhaul
+ * vm/gce: accept local image
+ * pkg/config: support null values
+ * pkg/gcs: remove support for gs:// prefixed paths
+ * syz-gce: fix manager config generation
+ * pkg/git: don't use --no-tags with clone
+ * syz-manager/config: add test for example config parsing
+
+-------------------------------------------------------------------
+Wed Mar 22 08:35:55 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170318:
+ * sys: add dccp socket & packet descriptions
+ * sys: remove old const files
+ * sys: add igmp basic packet description
+ * sys: add arp packet descriptions
+ * sys: add basic ipx packet description
+ * sys: add basic x25 packet descriptions
+ * sys: add basic llc packet descriptions
+ * prog: fix mknod sanitization
+ * rpctype: increase rpc timeouts
+ * report: assorted improvements to report parsing
+ * config: add another OOM suppression
+ * executor: treat EAGAIN as transient failure as ENOMEM
+ * executor: treat KCOV_ENABLE failure as transient
+ * manager: add ability to communicate with dashboard
+ * host: open /dev/net/tun to check if syz_emit_ethernet is enabled
+ * syz-dash: first version of dashboard app
+ * syz-dash: assorted improvments
+ * executor: support wrapping executor with an external sandbox process
+ * report: parse inconsistent lock state
+ * vm/adb: fix ppc64le build
+ * executor: fix ppc64le build
+ * sys: describe uffd api features
+ * tools/syz-dashtool: allow uploading all crashes for a single bug
+ * report: reformat
+ * syz-gce: fix format string
+ * syz-gce: enable ATM/LLC/TIPC in kernel config
+ * csource: regenerate
+ * syz-dash: add search over reports
+ * syz-gce: allow to specify enabled/disabled syscalls
+ * syz-dash: add links to github
+ * sys: remove UFFD_FEATURE_EVENT_EXIT const
+ * report: replace more variable numbers with string constants
+ * vm: add Odroid support
+ * vm: don't leak tty fds in adb
+ * vm: build odroid vm only if odroid build tag is present
+ * config: fix odroid config parsing
+ * syz-gce: don't poll repositories too frequently
+ * ifuzz: fix 2-byte vex decoding
+
+-------------------------------------------------------------------
+Mon Feb 13 08:42:37 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170210:
+ * sys: split socket.txt into multiple files based on socket type
+ * prog: fix cheking nonoptional nil pointers in validation
+ * host: support syz_open_dev$char/block
+ * sys: add sock_in and sock_in6 types
+ * sys: fix socket.txt include
+ * sys: improve udp setsockopt
+ * sys: improve tcp sockopts
+ * sys: improve ip and ipv6 sockopts
+ * sys: add icmp sock opt
+ * sys: restore autobind TODO
+ * sys: fix typo in set/getsockopt name
+
+-------------------------------------------------------------------
+Thu Feb 09 09:55:14 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170208:
+ * sys: remove autogenerated files
+ * Update README.md
+ * Update README.md
+ * Add the /dev/tlk_device (Open Trusted Execution device driver) description
+ * syz-report: fix printing of report
+ * symbolizer: support discriminators in addr2line output
+ * syz-repro: fix false "not executing programs"
+ * manager: don't save empty reports
+ * sys: support recursive structs
+ * vm/qemu: fix spurious failure during VM creation
+ * prog: more checks during program validation
+ * config: suppress another common error
+ * execprog: make syz-execprog work more like syz-fuzzer
+ * sys: resolve some old TODOs in descriptions
+ * stress: fix flag description
+ * report: strip non-deterministic info from rcu stall messages
+ * report: fix parsing of WARNING messages
+ * config: add another OOM message to suppressions
+ * report: strip non-deterministic part from "spinlock lockup" reports
+ * report: fix process leak
+ * Makefile: run generate in 'all'
+ * sys: resolve the TODO with recursive structs
+ * extract.sh: allow generating constants for Android devices.
+ * execprog: remove debug leftover
+ * cover: fix comment style
+ * manager: show unique coverage
+ * manager: show uncovered PCs
+ * Improve Case Closed Debugging Port Detection.
+ * Update CONTRIBUTORS
+ * CONTRIBUTORS: fix an empty
+ * manager: fix deadlock
+ * Update README.md
+ * Update README.md
+ * Update README.md
+ * Update README.md
+ * Update README.md
+ * Update README.md
+ * Better blob mutation
+ * Allow range sized arrays
+ * makefile: syz-sysgen depends on sysparser/*.go
+ * prog: skip union when calculating field offset
+ * prog: return struct size when generating args
+ * sys: delete Size() and Align() methods for struct and union
+ * sysparser: disallow unions with only one field
+ * prog: add a simple test for exec encoding
+ * Add new collaborator to CONTRIBUTORS
+ * sys: refine KCM ioctl type
+ * report: support few more formats of error messages
+ * report: always extract the first oops as description
+ * vm: give preference to kernel oops over "lost connection"
+ * sys, prog: add tests for description parsing and serialization
+ * prog: add a test for union layout
+ * sys: add padding to structs again
+ * report: extract "INFO: suspicious RCU usage" oops
+ * vm/adb: avoid draining battery
+ * vm/adb: reboot devices in the beginning of each cycle
+ * Emit BufferBlob for array[int8]
+ * Add exec serialize tests for array[int8]
+ * manager: fix rpc address in error message
+ * manager: server http over ipv4
+ * vm/gce: add support GCE VMs
+ * tools: add script that creates GCE images
+ * report: infer correct strip prefix from known symbol location
+ * manager: show crashes in web ui
+ * manager: unify handling of various stats in web ui
+ * manager: fix html table markup
+ * prog: fix serialized program in a test
+ * tools: fix package name in a comment
+ * manager: precreate crashes dir
+ * syz-gce: add autonomous GCE runner
+ * Makefile: don't change source files in default action
+ * vm/gce: fix bug introduced during refactoring
+ * tools/create-gce-image.sh: remove duplicate console argument
+ * syz-gce: minor refinements
+ * config: remove unused parameter
+ * manager: don't alter /proc/sys/debug/exception-trace
+ * manager: save user tag with crash reports
+ * manager: overwrite old reports with new reports
+ * manager: enable fuzzer verbosity only if -debug flag is given
+ * log: add package
+ * syz-gce: add web UI stub
+ * log: prepend time to cached entries
+ * syz-gce: show cached log in web ui
+ * manager: show cached log in web ui
+ * syz-gce: allow to not recreate image, rebuild syzkaller
+ * log: fix test
+ * vm/gce: don't wait for instance deletion on exit
+ * syz-gce: add actual continous testing logic
+ * log: don't cache messages with verbosity>1
+ * syz-manager, syz-gce: show latest log messages in log textarea
+ * manager: minor tweaks to web ui
+ * log: actually prepend time to messages
+ * Rename duplicate fields in templates
+ * Report duplicate fields and args
+ * syz-gce, syz-manager: save image tag in syz-gce, show in syz-manager
+ * report: support more error messages
+ * tools/create-gce-image.sh: create archive for syz-gce
+ * Assign to structs correct type name
+ * Refactor & improve len type handling
+ * Add assign len fields tests
+ * Update sys/README.md
+ * Fix validate, detect nil non-optional pointer
+ * report: use non-greedy new line matching
+ * tools/create-gce-image.sh: add vsyscall=native to cmdline
+ * Add big-endian ints
+ * Add tests for big-endian ints
+ * prog: go fmt
+ * vm/qemu: remove debug, add rodata=n to kernel cmd line
+ * report: add more report formats for rcu stalls
+ * report: add another report format for hung tasks
+ * report: add ability to ignore some kernel INFO messages
+ * sys: fix StrConstType size and alignment
+ * Update README.md
+ * syz-gce: fix build
+ * vm/adb: switch adb to root
+ * vm/adb: support separate serial console cable
+ * sys: always use pointers to types
+ * sys: attach Dir to all types
+ * sysparser: check for reserved parent fields
+ * prog: assign types to args during construction
+ * prog: simplify assignSizes
+ * prog: remote Type argument from Arg.Size/Value
+ * sys: replace FilenameType with BufferType{Kind: BufferFilename}
+ * sys: replace FileoffType with IntType{Kind: IntFileoff}
+ * sys: don't imply pointer indirection for string arguments
+ * sys: add string flags
+ * sys: allow to specify buffer size for strings
+ * sys: improve bpf descriptions
+ * sys: better description for eventfd
+ * report: fix "suspicious RCU usage" oops extraction
+ * prog: fix validation of len arguments
+ * sys: improve kvm descriptions
+ * sysparser: support larger struct alignments
+ * sys: initialize kvm guest memory
+ * vm/adb: print device<->console association
+ * sysgen: reduce compilation time and memory consumption
+ * Added a retry clause when doing battery check in adb.go
+ * sys: improve perf_event_open description
+ * tools/syz-crush: add new tool
+ * tools/create-gce-image.sh: enable bpf jit and update comments
+ * syz-gce,syz-manager: add name config parameter
+ * config: whitelist name parameter
+ * vm/gce: actually append name to instance names
+ * syz-gce: proxy manager http requests
+ * vm/gce: don't require ssh key for GCE-compatible images
+ * syz-hub: add program
+ * prog: sanitize mknodat the same way as mknod
+ * sys: disable /dev/console
+ * manager: enable keepalives on rcp connections
+ * manager: unbreak build
+ * repro: factor out of syz-repro tool
+ * vm: add ability to interrupt commands
+ * Update README.md
+ * csourceL add missing include and define
+ * syz-hub: fix log format string
+ * ipc: extend error messages
+ * executor: fix sandbox=setuid
+ * prog: fix checks for max and min len when mutating a bin blob
+ * prog: better validate arg data
+ * manager: print actual number of loaded progs
+ * manager: add empty line before per-call coverage in html
+ * vm/qemu: support non-native mode
+ * prog: fix pointer direction validation
+ * fuzzer: combine progs from corpus
+ * manager: reproduce crashes on the fly
+ * config: use dense indices for VMs
+ * prog: minimize based on individual args
+ * sys: add proc type to denote per proccess integers
+ * report: don't print size in KASAN reports
+ * ipc, prog, sysgen: format code
+ * csource: don't emit syz_ syscalls is they are not used
+ * ipc: append pid to binary name
+ * tools: fix getty configuration in create-image.sh
+ * vm/qemu: prevent eth0 renaming
+ * tools: fix getty configuration in create-gce-image.sh
+ * tools: enable bpg jit in create-image.sh
+ * sys: add new bpf descriptions
+ * manager: use only 1 proc in debug mode
+ * ipc: improve handling of executor failures
+ * sys: move in_addr description to templates
+ * sys: move sockaddr description to templates
+ * executor: emit ethernet traffic
+ * prog: remove unused inport() and inaddr()
+ * csourse: fix emitting syz_* syscalls in c reproducer
+ * csourse: emit remove_dir only when needed
+ * vm/gce: use preemptible instances
+ * executor: don't try to open tun if it's not enabled
+ * executor: change the way we wait for children
+ * vm/qemu: use panic=86400 instead of panic=-1
+ * manager: fix potential nil deref crash
+ * executor: use different address for our network card
+ * tools/create-image.sh: use net.core.bpf_jit_enable = 1
+ * tools/create-image.sh: install sudo into the image
+ * executor: add struct to cap structs
+ * report: support "spinlock recursion" oops
+ * manager: print how long VMs running before restarting
+ * ipc: produce more detailed error messages
+ * executor: handle exit failures
+ * Fix broken links for KASAN and KUBSAN
+ * Fix make report failed
+ * syz-extract: don't fail if no flags to extract
+ * executor: don't fail on ENOMEM
+ * report: support new stack trace format without PC values
+ * sys: describe new pkey_* syscalls
+ * report: whitelist WARNING printed by sshd
+ * tools/syz-symbolize: add report symbolizer utility
+ * vm/gce: handle graceful preemption
+ * gce: temporary add external IPs to instances
+ * gce: remove external IPs
+ * vm/adb: support BeagleBone console
+ * manager: add ability to ignore bugs
+ * prog: add bytesizeN types
+ * prog: increase line length limit when deserializing programs
+ * vm/qemu: enable more kvm features in test kernel
+ * syz-manager, syz-gce: output 20 log lines instead of 50 in web UI
+ * csource: remove more predefined defines from generated source
+ * csource: fix fork bomb
+ * prog: test that Deserialize does not return nil prog
+ * sys: allow to specify number of pages for vma type
+ * executor: increase coverage size from 16K to 64K PCs
+ * sys: don't add clock_gettime always
+ * sys: detail kvm syscalls more
+ * sys: replace syz_open_dev with openat
+ * syz-stress: add flag that controls generation of new programs
+ * Add kernel-ish clang-format style suitable for emails.
+ * vm/adb: increase battery check timeout
+ * add *.cfg and workdir* masks to .gitignore
+ * vm/qemu: add some kvm-related kernel cmd line flags
+ * syz-manager: move include files to the bottom of coverage report
+ * csource: compile with -Werror
+ * executor: use NONFAILING strcpy in syz_open_dev
+ * prog: spoof resources less frequently
+ * config: add another suppression for Go OOM
+ * prog: reformat source
+ * sys: extend kvm support
+ * ifuzz: add package for generation/mutation of machine code
+ * ifuzz/gen: speed up instruction deduplication
+ * ifuzz: fix generation of control registers
+ * sys, executor: more kvm improvements
+ * syz-gce: remove flags used for development/testing
+ * syz-gce: support continous build
+ * tools/create-image.sh: simplify script
+ * db: add package
+ * tools/syz-db: add new utility
+ * syz-hub: use db package
+ * syz-manager: speed up crash reading
+ * prog: add bitfields to templates
+ * syz-gce: fix log output
+ * syz-gce: recover after git pull errors
+ * syz-manager: speed up coverage report
+ * tools/syz-stress: switch to the new corpus database format
+ * syz-gce: run for at least 6 hours instead of 1
+ * syz-gce: increase log textarea size
+ * csource: regenerate
+ * executor: fix copyin of values
+ * sys: packed structs have align of 1
+ * prog: fix Size() for unions args
+ * sys: align structs with respect to align attributes
+ * prog, sys: fix struct with bitfields size calculation
+ * prog: mutate sized strings with respect to size
+ * prog, sys: correctly calculate size of varlen structs
+ * prog: fix union and struct offsets in SerializeForExec
+ * prog: add tests for alignment and offsets
+ * Update README.md
+ * ifuzz: add x86 hypercalls as pseudo instructions
+ * sys: add KVM_ENABLE_CAP for vm
+ * sys: drop kdbus description
+ * sys: don't imply pointer indirection for filename type
+ * sys: improve sockaddr_un description
+ * sys: add missing include file for some DRI constants
+ * syz-fuzzer: slightly tune fuzzing loop
+ * syz-fuzzer: don't reminimize all programs from corpus on start
+ * syz-fuzzer: check for new coverage during minimization
+ * syz-fuzzer: don't mutate generated programs
+ * sys: improve /dev/snd/seq and /dev/snd/timer descriptions
+ * sys: improve cmsghdr description
+ * prog, sys: fix padding varlen structs
+ * prog: fix calculating parent length in struct with bitfields
+ * prog: fix bytesizeN for nonarray fields
+ * csource: fix STORE_BY_BITMASK in prog2c
+ * executor: fix warning regarding type cast in STORE_BY_BITMASK
+ * syz-manager: add option to turn off crash reproducing
+ * syz-manager: track fuzzing time
+ * config: allow relative paths in configs
+ * syz-manager: don't create legacy corpus dir if it does not exist
+ * syz-manager: add benchmarking mode
+ * tools/syz-benchcmp: add utility for visualization of syz-manager benchmarking results
+ * tools/kcovtrace: add KCOV-based tracing utility
+ * prog: mutate int arguments
+ * prog: mutate programs more aggressively
+ * syz-fuzzer: prefer to mutate instead of generate
+ * prog: generate larger arrays
+ * config: don't mess with image
+ * syz-fuzzer: expose pprof profiling
+ * syz-fuzzer: print total number of executed programs
+ * executor: reduce syscall blocking delay from 100ms to 20ms
+ * all: spot optimizations
+ * makefile: fix syz-extract dependencies
+ * prog: add FieldName to Type
+ * sys, prog: add length of parent of parent to templates
+ * csource: use 0x%x format for printing bitfield addr and arg
+ * executor: change tun subnet to 172.20.*
+ * sys: add ethernet and ipv4 packet descriptions
+ * sys: add missing consts for arm64 and ppc64
+ * report: ignore info message about slow nmi handlers
+ * tools/create-image.sh: add psmisc package for killall
+ * prog: validate deserialized programs
+ * executor: protect against memory corruptions better
+ * syz-prog2c: fix a typo in error message
+ * prog: move size-related functions to size.go
+ * prog, sys: add csum type, embed checksums for ipv4 packets
+ * adb: executor: Revert to adb reboot
+ * sys: improve ipv4 options descriptions
+ * vm/qemu: use static network config in 9p mode
+ * gce: don't terminate instances on migration
+ * executor: fix KVM test
+ * all: implement edge coverage
+ * csource, syz-gce: regenerate and reformat
+ * gce: revert to terminate on migration
+ * manager: make disabledHashes map
+ * sys: move ipc syscalls into separate file
+ * syz-manager: print at most 10 deleted programs
+ * sys: improve ipc descriptions
+ * sys: improve key descriptions
+ * sys: improve kvm description
+ * syz-hub: don't flush global corpus after every addition
+ * manager, fuzzer, hub: move common rpc code into rpctype
+ * manager: collect crash info without holding the global mutex
+ * fuzzer: extend error output
+ * manager: don't recalculate dynamic priorities too often
+ * prog, sys: add tcp packets descriptions
+ * execprog: enable tun when syz_emit_ethernet is used
+ * executor: fix tun initialization when sandbox != none
+ * prog: format checksum_test.go
+ * csource: regenerate and reformat
+ * ipc: fix hangs in debug mode
+ * executor: fix undefined setup_tun() function error in c repros
+ * prog: limit prog size when splicing
+ * prog, sys: add ipv6 description and checksum
+ * prog, sys: add udp description and checksum
+ * csource: fix parallel mode to wait for subprocesses
+ * repro: always recreate VMs
+ * vm: properly detect when a program exits
+ * prog: reformat code
+ * sys: minor assorted improvements to descriptions
+ * sys: add /dev/loop description
+ * sys: add missing include in loop.txt
+ * sys: add more filesystems and mount flags
+ * report: handle new kind of RIP: line format
+ * executor: better protect output region from corruptions
+ * ipc: print call number on corrupted output region
+ * report: limit description length
+ * sys: refine EVIOCGMASK description
+ * vm/adb: support fuzzing without console
+ * prog, sys: add icmp descriptions and checksum
+ * executor: increase kMaxCommands and add checks
+ * prog, sys: add icmpv6 packet descriptions and checksums
+
+-------------------------------------------------------------------
Thu Feb 09 09:18:41 UTC 2017 - jslaby@suse.com
- Update to version 0.0+git.20160902:
--- syzkaller.spec.orig
+++ syzkaller.spec
@@ -16,9 +16,9 @@
#
-%define version_unconverted 0.0+git.20160902
+%define version_unconverted 0.0+git.20171016
Name: syzkaller
-Version: 0.0+git.20160902
+Version: 0.0+git.20171016
Release: 0
Summary: Distributed, unsupervised, coverage-guided Linux syscall fuzzer
License: Apache-2.0
@@ -30,6 +30,13 @@ BuildRequires: go >= 1.4
BuildRequires: golang-packaging
BuildRequires: make
BuildRequires: xz
+BuildRequires: golang(cloud.google.com/go/storage)
+BuildRequires: golang(golang.org/x/net/context)
+BuildRequires: golang(golang.org/x/oauth2)
+BuildRequires: golang(golang.org/x/sys/unix)
+BuildRequires: golang(google.golang.org/api/compute/v0.beta)
+BuildRequires: golang(google.golang.org/api/googleapi)
+BuildRequires: golang(google.golang.org/api/storage/v1)
# for -fsanitize-coverage
Recommends: gcc6
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -46,30 +53,49 @@ KUBSAN.
%build
%goprep github.com/google/syzkaller
-%gobuild ...
+
+#%%gobuild '-ldflags=-s -X github.com/google/syzkaller/sys.GitRevision="%%version"' \
+# ./sys/syz-sysgen
+
+# the above does not work, so let's expand and call it properly:
+export GOPATH=/home/abuild/rpmbuild/BUILD/go:/home/abuild/rpmbuild/BUILD/contrib
+export GOBIN=/home/abuild/rpmbuild/BUILD/go/bin
+go install -s -v -p 4 -x -buildmode=pie '-ldflags=-X github.com/google/syzkaller/sys.GitRevision=%{version}' github.com/google/syzkaller/./sys/syz-sysgen
+
+pushd ../go/src/github.com/google/syzkaller/
+../../../../bin/syz-sysgen
+popd
+
+#%%gobuild '-ldflags=-s -X github.com/google/syzkaller/sys.GitRevision="%%version"' \
+# ...
+
+go install -s -v -p 4 -x -buildmode=pie '-ldflags=-X github.com/google/syzkaller/sys.GitRevision=%{version}' github.com/google/syzkaller...
mkdir bin
-make %{?_smp_mflags} CFLAGS="%{optflags}" NOSTATIC=1 executor
+make %{?_smp_mflags} \
+ CC=gcc \
+ REV="%{version}" \
+ CFLAGS="%{optflags} -I../go/src/github.com/google/syzkaller/executor" \
+ NOSTATIC=1 executor
%install
%goinstall
-install -m 0755 bin/syz-executor %{buildroot}/%{_bindir}
+install -d %{buildroot}%{_bindir}/linux_amd64/
+install -m 0755 bin/linux_amd64/syz-executor %{buildroot}%{_bindir}/linux_amd64/
+
+rm -rf %{buildroot}%{go_contribdir} %{buildroot}%{_bindir}/{gen,syz-sysgen}
-rm -rf $RPM_BUILD_ROOT%{go_contribdir} $RPM_BUILD_ROOT%{_bindir}/sysgen
+mv %{buildroot}%{_bindir}/syz-* %{buildroot}%{_bindir}/linux_amd64/
+for SYZ in syz-manager syz-repro; do
+ ln -s linux_amd64/$SYZ %{buildroot}%{_bindir}/
+done
+ln -s ../gcc %{buildroot}%{_bindir}/linux_amd64/x86_64-linux-gnu-gcc
%files
%defattr(-,root,root)
-%doc AUTHORS CONTRIBUTORS LICENSE README.md syz-manager/example.cfg structure.png sys/sys.txt tools/create-image.sh
-%{_bindir}/syz-execprog
-%{_bindir}/syz-executor
-%{_bindir}/syz-extract
-%{_bindir}/syz-fuzzer
+%doc AUTHORS CONTRIBUTORS LICENSE README.md docs/*.md docs/process_structure.png sys/linux/sys.txt tools/create-image.sh
+%{_bindir}/linux_amd64/
%{_bindir}/syz-manager
-%{_bindir}/syz-mutate
-%{_bindir}/syz-prog2c
-%{_bindir}/syz-report
%{_bindir}/syz-repro
-%{_bindir}/syz-stress
-%{_bindir}/syz-upgrade
%changelog